[Compiler] Improve spills and register backups (#175)

* xmm spill

* improve getting stack variables

* improve symbol getting

* update changelog
This commit is contained in:
water111
2020-12-31 15:59:11 -05:00
committed by GitHub
parent a80b331c27
commit c8d382b35c
15 changed files with 535 additions and 121 deletions
+7
View File
@@ -9,6 +9,7 @@
#include <thread>
#include "common/common_types.h"
#include "common/util/Timer.h"
#include "game/sce/libscf.h"
#include "kboot.h"
#include "kmachine.h"
@@ -146,6 +147,7 @@ void KernelCheckAndDispatch() {
// dispatch the kernel
//(**kernel_dispatcher)();
Timer kernel_dispatch_timer;
if (MasterUseKernel) {
// use the GOAL kernel.
call_goal_on_stack(Ptr<Function>(kernel_dispatcher->value), goal_stack, s7.offset,
@@ -164,6 +166,11 @@ void KernelCheckAndDispatch() {
}
}
auto time_ms = kernel_dispatch_timer.getMs();
if (time_ms > 3) {
printf("Kernel dispatch time: %.3f ms\n", time_ms);
}
ClearPending();
// if the listener function changed, it means the kernel ran it, so we should notify compiler.