浏览代码

* migrated JVM-specific second_nil_to_methodprocvar code to njvmcnv

git-svn-id: trunk@27150 -
Jonas Maebe 11 年之前
父节点
当前提交
d46c353849
共有 2 个文件被更改,包括 12 次插入12 次删除
  1. 12 0
      compiler/jvm/njvmcnv.pas
  2. 0 12
      compiler/ncgcnv.pas

+ 12 - 0
compiler/jvm/njvmcnv.pas

@@ -55,6 +55,7 @@ interface
          { procedure second_real_to_real;override; }
          { procedure second_cord_to_pointer;override; }
           procedure second_proc_to_procvar;override;
+          procedure second_nil_to_methodprocvar;override;
           procedure second_bool_to_int;override;
           procedure second_int_to_bool;override;
          { procedure second_load_smallset;override;  }
@@ -683,6 +684,17 @@ implementation
       end;
 
 
+    procedure tjvmtypeconvnode.second_nil_to_methodprocvar;
+      var
+        r: Treference;
+      begin
+        tg.gethltemp(current_asmdata.currasmlist,java_jlobject,java_jlobject.size,tt_normal,r);
+        hlcg.a_load_const_ref(current_asmdata.CurrAsmList,java_jlobject,0,r);
+        location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),1);
+        location.reference:=r;
+      end;
+
+
     procedure tjvmtypeconvnode.second_bool_to_int;
       var
          newsize: tcgsize;

+ 0 - 12
compiler/ncgcnv.pas

@@ -578,19 +578,7 @@ interface
       end;
 
     procedure Tcgtypeconvnode.second_nil_to_methodprocvar;
-    {$ifdef jvm}
-    var r:Treference;
-    {$endif}
     begin
-{$ifdef jvm}
-{$ifndef nounsupported}
-      tg.gethltemp(current_asmdata.currasmlist,java_jlobject,java_jlobject.size,tt_normal,r);
-      hlcg.a_load_const_ref(current_asmdata.CurrAsmList,java_jlobject,0,r);
-      location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),1);
-      location.reference:=r;
-      exit;
-{$endif}
-{$endif}
       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);