* nil method pointers can be kept in registers

git-svn-id: trunk@22340 -
This commit is contained in:
florian 2012-09-06 15:11:54 +00:00
parent d6b548ce13
commit 4d4561923e

View File

@ -526,12 +526,11 @@ interface
exit; exit;
{$endif} {$endif}
{$endif} {$endif}
tg.gethltemp(current_asmdata.currasmlist,methodpointertype,methodpointertype.size,tt_normal,r); location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),0); location.registerhi:=cg.getaddressregister(current_asmdata.currasmlist);
location.reference:=r; cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.registerhi);
cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r); location.register:=cg.getaddressregister(current_asmdata.currasmlist);
inc(r.offset,sizeof(puint)); cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.register);
cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r);
end; end;
procedure tcgtypeconvnode.second_bool_to_int; procedure tcgtypeconvnode.second_bool_to_int;