* Prepare for internal stack frame functions.

git-svn-id: trunk@3511 -
This commit is contained in:
daniel 2006-05-13 20:57:37 +00:00
parent d1bfba1c4d
commit fea15be56f
2 changed files with 9 additions and 0 deletions

View File

@ -64,6 +64,9 @@ const
fpc_in_slice = 53;
fpc_in_move_x = 54;
fpc_in_fillchar_x = 55;
fpc_in_get_frame = 56;
fpc_in_get_caller_addr = 57;
fpc_in_get_caller_frame = 58;
{ Internal constant functions }
fpc_in_const_sqr = 100;

View File

@ -608,9 +608,15 @@ Procedure getdir(drivenr:byte;var dir:ansistring);
*****************************************************************************}
{ os independent calls to allow backtraces }
{$IFDEF INTERNAL_BACKTRACE}
function get_frame:pointer;[INTERNPROC:fpc_in_get_frame];
function get_caller_addr(framebp:pointer):pointer;[INTERNPROC:fpc_in_get_caller_addr];
function get_caller_frame(framebp:pointer):pointer;[INTERNPROC:fpc_in_get_caller_frame];
{$ELSE}
function get_frame:pointer;{$ifdef SYSTEMINLINE}inline;{$endif}
function get_caller_addr(framebp:pointer):pointer;{$ifdef SYSTEMINLINE}inline;{$endif}
function get_caller_frame(framebp:pointer):pointer;{$ifdef SYSTEMINLINE}inline;{$endif}
{$ENDIF}
Function IOResult:Word;{$ifdef SYSTEMINLINE}inline;{$endif}
Function Sptr:Pointer;{$ifdef SYSTEMINLINE}inline;{$endif}[internconst:fpc_in_const_ptr];