Browse Source

* VMT field zeroed at destructor forgot offset !!

pierre 26 years ago
parent
commit
8c54e5656a
1 changed files with 9 additions and 5 deletions
  1. 9 5
      rtl/i386/i386.inc

+ 9 - 5
rtl/i386/i386.inc

@@ -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