mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 12:39:09 +02:00
* conditionnal code for extended check of virtual methods
This commit is contained in:
parent
c18fdf95f3
commit
b186605bc4
@ -840,11 +840,20 @@ implementation
|
|||||||
if p^.procdefinition^.extnumber=-1 then
|
if p^.procdefinition^.extnumber=-1 then
|
||||||
internalerror($Da);
|
internalerror($Da);
|
||||||
r^.offset:=p^.procdefinition^.extnumber*4+12;
|
r^.offset:=p^.procdefinition^.extnumber*4+12;
|
||||||
|
{$ifndef TESTOBJEXT}
|
||||||
if (cs_check_range in aktlocalswitches) then
|
if (cs_check_range in aktlocalswitches) then
|
||||||
begin
|
begin
|
||||||
exprasmlist^.concat(new(pai386,op_reg(A_PUSH,S_L,r^.base)));
|
exprasmlist^.concat(new(pai386,op_reg(A_PUSH,S_L,r^.base)));
|
||||||
emitcall('FPC_CHECK_OBJECT',true);
|
emitcall('FPC_CHECK_OBJECT',true);
|
||||||
end;
|
end;
|
||||||
|
{$else TESTOBJEXT}
|
||||||
|
if (cs_check_range in aktlocalswitches) then
|
||||||
|
begin
|
||||||
|
exprasmlist^.concat(new(pai386,op_csymbol(A_PUSH,S_L,newcsymbol(p^.procdefinition^._class^.vmt_mangledname,0))));
|
||||||
|
exprasmlist^.concat(new(pai386,op_reg(A_PUSH,S_L,r^.base)));
|
||||||
|
emitcall('FPC_CHECK_OBJECT_EXT',true);
|
||||||
|
end;
|
||||||
|
{$endif TESTOBJEXT}
|
||||||
exprasmlist^.concat(new(pai386,op_ref(A_CALL,S_NO,r)));
|
exprasmlist^.concat(new(pai386,op_ref(A_CALL,S_NO,r)));
|
||||||
end
|
end
|
||||||
else if not inlined then
|
else if not inlined then
|
||||||
@ -1282,7 +1291,10 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.62 1999-02-02 23:52:32 florian
|
Revision 1.63 1999-02-03 10:18:14 pierre
|
||||||
|
* conditionnal code for extended check of virtual methods
|
||||||
|
|
||||||
|
Revision 1.62 1999/02/02 23:52:32 florian
|
||||||
* problem with calls to method pointers in methods fixed
|
* problem with calls to method pointers in methods fixed
|
||||||
- double ansistrings temp management removed
|
- double ansistrings temp management removed
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user