mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-15 12:29:32 +02:00
+ no assembler if systemdebug defined
This commit is contained in:
parent
ab9465df1b
commit
1bbbb8e6ca
@ -299,10 +299,20 @@ end;
|
||||
|
||||
|
||||
{ checks for a correct vmt pointer }
|
||||
{$ifdef SYSTEMDEBUG}
|
||||
{ we want the stack for debugging !! PM }
|
||||
procedure int_check_object(obj : pointer);[public,alias:'FPC_CHECK_OBJECT'];
|
||||
begin
|
||||
{$else not SYSTEMDEBUG}
|
||||
procedure int_check_object;assembler;[public,alias:'FPC_CHECK_OBJECT'];
|
||||
{$endif not SYSTEMDEBUG}
|
||||
asm
|
||||
pushl %edi
|
||||
{$ifdef SYSTEMDEBUG}
|
||||
movl obj,%edi
|
||||
{$else not SYSTEMDEBUG}
|
||||
movl 8(%esp),%edi
|
||||
{$endif not SYSTEMDEBUG}
|
||||
pushl %eax
|
||||
{ Here we must check if the VMT pointer is nil before }
|
||||
{ accessing it... }
|
||||
@ -318,8 +328,13 @@ asm
|
||||
popl %eax
|
||||
popl %edi
|
||||
{ the adress is pushed : it needs to be removed from stack !! PM }
|
||||
{$ifdef SYSTEMDEBUG}
|
||||
end;{ of asm }
|
||||
end;
|
||||
{$else SYSTEMDEBUG}
|
||||
ret $4
|
||||
end;
|
||||
{$endif not SYSTEMDEBUG}
|
||||
|
||||
{$ifdef FPC_TESTOBJEXT}
|
||||
{ checks for a correct vmt pointer }
|
||||
@ -701,7 +716,13 @@ end;
|
||||
Bounds Check
|
||||
****************************************************************************}
|
||||
|
||||
{$ifdef SYSTEMDEBUG}
|
||||
{ we want the stack for debugging !! PM }
|
||||
procedure int_boundcheck;[public,alias: 'FPC_BOUNDCHECK'];
|
||||
begin
|
||||
{$else not SYSTEMDEBUG}
|
||||
procedure int_boundcheck;assembler;[public,alias: 'FPC_BOUNDCHECK'];
|
||||
{$endif not SYSTEMDEBUG}
|
||||
{
|
||||
called with:
|
||||
%ecx - value
|
||||
@ -717,6 +738,9 @@ asm
|
||||
call HandleError
|
||||
.Lbc_ok:
|
||||
end;
|
||||
{$ifdef SYSTEMDEBUG}
|
||||
end;
|
||||
{$endif def SYSTEMDEBUG}
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
@ -745,7 +769,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.41 1999-03-01 15:40:55 peter
|
||||
Revision 1.42 1999-04-07 16:21:10 pierre
|
||||
+ no assembler if systemdebug defined
|
||||
|
||||
Revision 1.41 1999/03/01 15:40:55 peter
|
||||
* use external names
|
||||
* removed all direct assembler modes
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user