summaryrefslogtreecommitdiff
path: root/compiler/jvm
diff options
context:
space:
mode:
authornickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-28 00:01:18 +0000
committernickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-03-28 00:01:18 +0000
commitcc95b40ede77c81b62f3b0e2608d61a1fd23809c (patch)
tree9de22ec87601d2d133b8808c4cb772d0daf66645 /compiler/jvm
parent61976b573f995e1abae9fc5cddafc4625d07d887 (diff)
downloadfpc-cc95b40ede77c81b62f3b0e2608d61a1fd23809c.tar.gz
+ added method reference_reset_base with support for different pointer types to
the high level code generator. All hlcg code, except for the jvm code generator, updated to use the new method. I didn't update jvm (it still uses the method from cgutils), because I'm not familiar with that platform, so I might get the types wrong. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@27309 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/jvm')
-rw-r--r--compiler/jvm/hlcgcpu.pas10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/jvm/hlcgcpu.pas b/compiler/jvm/hlcgcpu.pas
index 64207acea6..9fad597137 100644
--- a/compiler/jvm/hlcgcpu.pas
+++ b/compiler/jvm/hlcgcpu.pas
@@ -1031,7 +1031,7 @@ implementation
end;
art_indexref:
begin
- reference_reset_base(href,ref.indexbase,ref.indexoffset,4);
+ cgutils.reference_reset_base(href,ref.indexbase,ref.indexoffset,4);
href.symbol:=ref.indexsymbol;
a_load_ref_stack(list,s32inttype,href,prepare_stack_for_ref(list,href,false));
end;
@@ -1789,7 +1789,7 @@ implementation
{ passed by reference in array of single element; l contains the
base address of the array }
location_reset_ref(tmploc,LOC_REFERENCE,OS_ADDR,4);
- reference_reset_base(tmploc.reference,getaddressregister(list,java_jlobject),0,4);
+ cgutils.reference_reset_base(tmploc.reference,getaddressregister(list,java_jlobject),0,4);
tmploc.reference.arrayreftype:=art_indexconst;
tmploc.reference.indexoffset:=0;
a_load_loc_reg(list,java_jlobject,java_jlobject,l,tmploc.reference.base);
@@ -1856,7 +1856,7 @@ implementation
case current_procinfo.procdef.proctypeoption of
potype_unitinit:
begin
- reference_reset_base(ref,NR_NO,0,1);
+ cgutils.reference_reset_base(ref,NR_NO,0,1);
if assigned(current_module.globalsymtable) then
allocate_implicit_structs_for_st_with_base_ref(list,current_module.globalsymtable,ref,staticvarsym);
allocate_implicit_structs_for_st_with_base_ref(list,current_module.localsymtable,ref,staticvarsym);
@@ -1866,7 +1866,7 @@ implementation
{ also initialise local variables, if any }
inherited;
{ initialise class fields }
- reference_reset_base(ref,NR_NO,0,1);
+ cgutils.reference_reset_base(ref,NR_NO,0,1);
allocate_implicit_structs_for_st_with_base_ref(list,tabstractrecorddef(current_procinfo.procdef.owner.defowner).symtable,ref,staticvarsym);
end
else
@@ -2415,7 +2415,7 @@ implementation
internalerror(2011033001);
selfreg:=getaddressregister(list,selfpara.vardef);
a_load_loc_reg(list,obj,obj,selfpara.localloc,selfreg);
- reference_reset_base(ref,selfreg,0,1);
+ cgutils.reference_reset_base(ref,selfreg,0,1);
allocate_implicit_structs_for_st_with_base_ref(list,obj.symtable,ref,fieldvarsym);
end;