mirror of
https://github.com/red-prig/fpPS4.git
synced 2024-10-07 19:53:21 +00:00
_Znwm and etc
This commit is contained in:
parent
d794ee6ac0
commit
6e2cbf38c5
@ -260,6 +260,25 @@ begin
|
|||||||
lib^.set_proc($6C6B8377791654A4,@ps4_bGuDd3kWVKQ);
|
lib^.set_proc($6C6B8377791654A4,@ps4_bGuDd3kWVKQ);
|
||||||
lib^.set_proc($7FD2D5C8DF0ACBC8,@ps4_f9LVyN8Ky8g);
|
lib^.set_proc($7FD2D5C8DF0ACBC8,@ps4_f9LVyN8Ky8g);
|
||||||
|
|
||||||
|
lib^.set_proc($46A784ACEDDC1475,@ps4__ZSt15set_new_handlerPFvvE);
|
||||||
|
lib^.set_proc($0A46340156BF7EB8,@ps4__ZSt15get_new_handlerv);
|
||||||
|
|
||||||
|
lib^.set_proc($85D9B461F31AED34,@ps4__Znam);
|
||||||
|
lib^.set_proc($7C99E9B955416CA9,@ps4__Znwm);
|
||||||
|
lib^.set_proc($AF25310FFEB46CA3,@ps4__ZnwmRKSt9nothrow_t);
|
||||||
|
lib^.set_proc($261E6A51CC224849,@ps4__ZnamRKSt9nothrow_t);
|
||||||
|
|
||||||
|
lib^.set_proc($30B5A5F7448558D1,@ps4__ZdaPv);
|
||||||
|
lib^.set_proc($14EB79E5935A5499,@ps4__ZdaPvm);
|
||||||
|
lib^.set_proc($EE50A2848D7C37D2,@ps4__ZdaPvmRKSt9nothrow_t);
|
||||||
|
lib^.set_proc($9BF7D2A3711BC4D0,@ps4__ZdaPvRKSt9nothrow_t);
|
||||||
|
lib^.set_proc($CFE3FEC429D62C19,@ps4__ZdlPv);
|
||||||
|
lib^.set_proc($9580F3055139999B,@ps4__ZdlPvm);
|
||||||
|
lib^.set_proc($ED53C8605A705360,@ps4__ZdlPvmRKSt9nothrow_t);
|
||||||
|
lib^.set_proc($31CB069EA57AC911,@ps4__ZdlPvRKSt9nothrow_t);
|
||||||
|
lib^.set_proc($4AE73C5B440FC63C,@ps4__ZdaPvS_);
|
||||||
|
lib^.set_proc($D6FA3AAAAA9AF45E,@ps4__ZdlPvS_);
|
||||||
|
|
||||||
lib:=Result._add_lib('libSceLibcInternalExt');
|
lib:=Result._add_lib('libSceLibcInternalExt');
|
||||||
|
|
||||||
lib^.set_proc($356B53375D1C2731,@ps4_sceLibcHeapGetTraceInfo);
|
lib^.set_proc($356B53375D1C2731,@ps4_sceLibcHeapGetTraceInfo);
|
||||||
|
@ -188,9 +188,29 @@ function ps4_f9LVyN8Ky8g:Pointer; SysV_ABI_CDecl; //f9LVyN8Ky8g
|
|||||||
|
|
||||||
procedure ps4_sceLibcHeapGetTraceInfo(P:PGetTraceInfo); SysV_ABI_CDecl;
|
procedure ps4_sceLibcHeapGetTraceInfo(P:PGetTraceInfo); SysV_ABI_CDecl;
|
||||||
|
|
||||||
|
function ps4__ZSt15set_new_handlerPFvvE(new_p:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
function ps4__ZSt15get_new_handlerv:Pointer; SysV_ABI_CDecl;
|
||||||
|
|
||||||
|
function ps4__Znam(count:qword):Pointer; SysV_ABI_CDecl;
|
||||||
|
function ps4__Znwm(count:qword):Pointer; SysV_ABI_CDecl;
|
||||||
|
function ps4__ZnwmRKSt9nothrow_t(count:qword;tag:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
function ps4__ZnamRKSt9nothrow_t(count:qword;tag:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
|
||||||
|
procedure ps4__ZdaPv(ptr:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdaPvm(ptr:Pointer;size:qword); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdaPvmRKSt9nothrow_t(ptr:Pointer;size:qword;tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdaPvRKSt9nothrow_t(ptr,tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdlPv(ptr:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdlPvm(ptr:Pointer;size:qword); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdlPvmRKSt9nothrow_t(ptr:Pointer;size:qword;tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdlPvRKSt9nothrow_t(ptr,tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdaPvS_(ptr,place:Pointer); SysV_ABI_CDecl;
|
||||||
|
procedure ps4__ZdlPvS_(ptr,place:Pointer); SysV_ABI_CDecl;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
atomic,
|
||||||
sys_kernel,
|
sys_kernel,
|
||||||
sys_signal;
|
sys_signal;
|
||||||
|
|
||||||
@ -3762,6 +3782,175 @@ begin
|
|||||||
P^.mstate_table :=@g_mstate_table;
|
P^.mstate_table :=@g_mstate_table;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
var
|
||||||
|
g_std_new_handler:Pointer=nil;
|
||||||
|
|
||||||
|
//_func_void * std::set_new_handler(_func_void *new_p)
|
||||||
|
function ps4__ZSt15set_new_handlerPFvvE(new_p:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Result:=XCHG(g_std_new_handler,new_p);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//_func_void * std::get_new_handler(void)
|
||||||
|
function ps4__ZSt15get_new_handlerv:Pointer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Result:=load_acq_rel(g_std_new_handler);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
//void * operator.new[](ulong count)
|
||||||
|
function ps4__Znam(count:qword):Pointer; SysV_ABI_CDecl;
|
||||||
|
var
|
||||||
|
addr:Pointer;
|
||||||
|
handler:TProcedure;
|
||||||
|
begin
|
||||||
|
if (count=0) then count:=1;
|
||||||
|
|
||||||
|
While (true) do
|
||||||
|
begin
|
||||||
|
addr:=ps4_malloc(count);
|
||||||
|
if (addr<>nil) then Exit(addr);
|
||||||
|
handler:=TProcedure(ps4__ZSt15get_new_handlerv);
|
||||||
|
if (handler=nil) then Break;
|
||||||
|
handler();
|
||||||
|
end;
|
||||||
|
Assert(false,'std::_Xbad_alloc');
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void * operator.new(ulong count)
|
||||||
|
function ps4__Znwm(count:qword):Pointer; SysV_ABI_CDecl;
|
||||||
|
var
|
||||||
|
addr:Pointer;
|
||||||
|
handler:TProcedure;
|
||||||
|
begin
|
||||||
|
if (count=0) then count:=1;
|
||||||
|
|
||||||
|
While (true) do
|
||||||
|
begin
|
||||||
|
addr:=ps4_malloc(count);
|
||||||
|
if (addr<>nil) then Exit(addr);
|
||||||
|
handler:=TProcedure(ps4__ZSt15get_new_handlerv);
|
||||||
|
if (handler=nil) then Break;
|
||||||
|
handler();
|
||||||
|
end;
|
||||||
|
Assert(false,'std::_Xbad_alloc');
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void * operator.new(ulong count,nothrow_t *tag)
|
||||||
|
function ps4__ZnwmRKSt9nothrow_t(count:qword;tag:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
var
|
||||||
|
addr:Pointer;
|
||||||
|
handler:TProcedure;
|
||||||
|
begin
|
||||||
|
if (count=0) then count:=1;
|
||||||
|
|
||||||
|
While (true) do
|
||||||
|
begin
|
||||||
|
addr:=ps4_malloc(count);
|
||||||
|
if (addr<>nil) then Break;
|
||||||
|
handler:=TProcedure(ps4__ZSt15get_new_handlerv);
|
||||||
|
if (handler=nil) then Break;
|
||||||
|
handler();
|
||||||
|
end;
|
||||||
|
|
||||||
|
Result:=addr;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void * operator.new[](ulong count,nothrow_t *tag)
|
||||||
|
function ps4__ZnamRKSt9nothrow_t(count:qword;tag:Pointer):Pointer; SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
Result:=ps4__ZnwmRKSt9nothrow_t(count,tag);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
//void operator.delete[](void *ptr)
|
||||||
|
procedure ps4__ZdaPv(ptr:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete[](void *ptr,ulong size)
|
||||||
|
procedure ps4__ZdaPvm(ptr:Pointer;size:qword); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete[](void *ptr,ulong size,nothrow_t *tag)
|
||||||
|
procedure ps4__ZdaPvmRKSt9nothrow_t(ptr:Pointer;size:qword;tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete[](void *ptr,nothrow_t *tag)
|
||||||
|
procedure ps4__ZdaPvRKSt9nothrow_t(ptr,tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete(void *ptr)
|
||||||
|
procedure ps4__ZdlPv(ptr:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete(void *ptr,ulong size)
|
||||||
|
procedure ps4__ZdlPvm(ptr:Pointer;size:qword); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete(void *ptr,ulong size,nothrow_t *tag)
|
||||||
|
procedure ps4__ZdlPvmRKSt9nothrow_t(ptr:Pointer;size:qword;tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete(void *ptr,nothrow_t *tag)
|
||||||
|
procedure ps4__ZdlPvRKSt9nothrow_t(ptr,tag:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
if (ptr<>nil) then
|
||||||
|
begin
|
||||||
|
ps4_free(ptr);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete[](void *ptr,void *place)
|
||||||
|
procedure ps4__ZdaPvS_(ptr,place:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
//void operator.delete(void *ptr,void *place)
|
||||||
|
procedure ps4__ZdlPvS_(ptr,place:Pointer); SysV_ABI_CDecl;
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user