|
@@ -113,12 +113,12 @@ implementation
|
|
|
begin
|
|
|
if (procdef.extnumber=$ffff) then
|
|
|
Internalerror(200006139);
|
|
|
- { mov 0(%rdi),%rax ; load vmt}
|
|
|
+ { load vmt}
|
|
|
reference_reset_base(href,voidpointertype,paraloc^.register,0,sizeof(pint),[]);
|
|
|
cg.a_load_ref_reg(list,OS_ADDR,OS_ADDR,href,NR_G1);
|
|
|
- { jmp *vmtoffs(%eax) ; method offs }
|
|
|
+ { jmp to method }
|
|
|
reference_reset_base(href,voidpointertype,NR_G1,tobjectdef(procdef.struct).vmtmethodoffset(procdef.extnumber),sizeof(pint),[]);
|
|
|
- list.concat(taicpu.op_ref_reg(A_LD,href,NR_G1));
|
|
|
+ cg.a_load_ref_reg(list,OS_ADDR,OS_ADDR,href,NR_G1);
|
|
|
list.concat(taicpu.op_reg(A_JMP,NR_G1));
|
|
|
{ Delay slot }
|
|
|
list.Concat(TAiCpu.Op_none(A_NOP));
|