From 4d4561923ec682c7827b994b6e01d135f347c685 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 6 Sep 2012 15:11:54 +0000 Subject: [PATCH] * nil method pointers can be kept in registers git-svn-id: trunk@22340 - --- compiler/ncgcnv.pas | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/compiler/ncgcnv.pas b/compiler/ncgcnv.pas index 6517c465c3..73d93f5de0 100644 --- a/compiler/ncgcnv.pas +++ b/compiler/ncgcnv.pas @@ -526,12 +526,11 @@ interface exit; {$endif} {$endif} - tg.gethltemp(current_asmdata.currasmlist,methodpointertype,methodpointertype.size,tt_normal,r); - location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),0); - location.reference:=r; - cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r); - inc(r.offset,sizeof(puint)); - cg.a_load_const_ref(current_asmdata.currasmlist,OS_ADDR,0,r); + location_reset(location,LOC_REGISTER,def_cgsize(resultdef)); + location.registerhi:=cg.getaddressregister(current_asmdata.currasmlist); + cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.registerhi); + location.register:=cg.getaddressregister(current_asmdata.currasmlist); + cg.a_load_const_reg(current_asmdata.currasmlist,OS_ADDR,0,location.register); end; procedure tcgtypeconvnode.second_bool_to_int;