+ get_caller_addr/frame implemented

This commit is contained in:
florian 2004-01-21 23:12:07 +00:00
parent e46d6d2f91
commit a6589cbab1

View File

@ -29,33 +29,27 @@ end;
{$define FPC_SYSTEM_HAS_GET_FRAME}
function get_frame:pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
mov r0,fp
mov r0,r11
end ['R0'];
{$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
function get_caller_addr(framebp:pointer):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
(*!!!!!!
movl framebp,%eax
orl %eax,%eax
jz .Lg_a_null
movl 4(%eax),%eax
movs r0,r0
beq .Lg_a_null
ldr r0,[r0,#-4]
.Lg_a_null:
*)
end ['R0'];
{$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
function get_caller_frame(framebp:pointer):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
(*!!!!!
movl framebp,%eax
orl %eax,%eax
jz .Lgnf_null
movl (%eax),%eax
movs r0,r0
beq .Lgnf_null
ldr r0,[r0,#-12]
.Lgnf_null:
*)
end ['R0'];
@ -123,7 +117,10 @@ end;
{
$Log$
Revision 1.4 2004-01-20 21:01:57 florian
Revision 1.5 2004-01-21 23:12:07 florian
+ get_caller_addr/frame implemented
Revision 1.4 2004/01/20 21:01:57 florian
* fixed setjump
* fixed syscalls