From 174da786e4a8a235079ce7912cfdc1c25b1c69c0 Mon Sep 17 00:00:00 2001 From: MasaGratoR Date: Thu, 2 Apr 2026 20:45:30 +0200 Subject: [PATCH] Override new and delete operators --- stratosphere/pgl/source/pgl_main.cpp | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/stratosphere/pgl/source/pgl_main.cpp b/stratosphere/pgl/source/pgl_main.cpp index 50d5ca114..365dd3bf2 100644 --- a/stratosphere/pgl/source/pgl_main.cpp +++ b/stratosphere/pgl/source/pgl_main.cpp @@ -58,3 +58,36 @@ namespace ams { } } + +/* Override operator new. */ +void *operator new(size_t size) { + return ams::pgl::srv::Allocate(size); +} + +void *operator new(size_t size, const std::nothrow_t &) { + return ams::pgl::srv::Allocate(size); +} + +void operator delete(void *p) { + return ams::pgl::srv::Deallocate(p, 0); +} + +void operator delete(void *p, size_t size) { + return ams::pgl::srv::Deallocate(p, size); +} + +void *operator new[](size_t size) { + return ams::pgl::srv::Allocate(size); +} + +void *operator new[](size_t size, const std::nothrow_t &) { + return ams::pgl::srv::Allocate(size); +} + +void operator delete[](void *p) { + return ams::pgl::srv::Deallocate(p, 0); +} + +void operator delete[](void *p, size_t size) { + return ams::pgl::srv::Deallocate(p, size); +}