MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / ppu_thread_exit

Function ppu_thread_exit

kernel/cellos/src/sys_ppu_thread.cpp:53–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51};
52
53void ppu_thread_exit(ppu_thread &ppu, ppu_opcode_t, be_t<u32> *,
54 struct ppu_intrp_func *) {
55 ppu.state += cpu_flag::exit + cpu_flag::wait;
56
57 // Deallocate Stack Area
58 ensure(vm::dealloc(ppu.stack_addr, vm::stack) == ppu.stack_size);
59
60 if (auto dct = g_fxo->try_get<lv2_memory_container>()) {
61 dct->free(ppu.stack_size);
62 }
63
64 if (ppu.call_history.index) {
65 ppu_log.notice("Calling history: %s", ppu.call_history);
66 ppu.call_history.index = 0;
67 }
68
69 if (ppu.syscall_history.index) {
70 ppu_log.notice("HLE/LV2 history: %s", ppu.syscall_history);
71 ppu.syscall_history.index = 0;
72 }
73}
74
75constexpr u32 c_max_ppu_name_size = 28;
76

Callers 1

_sys_ppu_thread_exitFunction · 0.85

Calls 3

deallocFunction · 0.85
ensureFunction · 0.50
freeMethod · 0.45

Tested by

no test coverage detected