* VMT field zeroed at destructor forgot offset !!

This commit is contained in:
pierre 1999-02-22 13:23:22 +00:00
parent 0669413251
commit 8c54e5656a

View File

@ -94,7 +94,8 @@ begin
asm asm
cld cld
movl x,%edi movl x,%edi
movl value,%eax { Only lower 8 bits will be used } { movl value,%eax Only lower 8 bits will be used }
movb value,%al
movl count,%ecx movl count,%ecx
cmpl $7,%ecx cmpl $7,%ecx
jl .LFill1 jl .LFill1
@ -237,15 +238,15 @@ asm
{ get VMT-pointer (from Self) to %ebx } { get VMT-pointer (from Self) to %ebx }
{ the offset is in %edi since the calling and has not been changed !! } { the offset is in %edi since the calling and has not been changed !! }
movl (%eax,%edi,1),%ebx movl (%eax,%edi,1),%ebx
{ I think for precaution }
{ that we should clear the VMT here }
movl $0,(%eax,%edi,1)
{ temporary Variable } { temporary Variable }
subl $4,%esp subl $4,%esp
movl %esp,%edi movl %esp,%edi
{ And put size on the Stack } { And put size on the Stack }
pushl (%ebx) pushl (%ebx)
{ SELF } { SELF }
{ I think for precaution }
{ that we should clear the VMT here }
movl $0,(%eax)
movl %eax,(%edi) movl %eax,(%edi)
pushl %edi pushl %edi
call FPC_FREEMEM call FPC_FREEMEM
@ -738,7 +739,10 @@ end;
{ {
$Log$ $Log$
Revision 1.39 1999-02-05 12:26:25 pierre Revision 1.40 1999-02-22 13:23:22 pierre
* VMT field zeroed at destructor forgot offset !!
Revision 1.39 1999/02/05 12:26:25 pierre
+ code for FPC_TESTOBJEXT conditionnal + code for FPC_TESTOBJEXT conditionnal
Revision 1.38 1999/02/02 11:04:27 florian Revision 1.38 1999/02/02 11:04:27 florian