瀏覽代碼

* fixed copy/paste errors in a_op_reg_ref() from a_op_ref_reg()

git-svn-id: branches/jvmbackend@18519 -
Jonas Maebe 14 年之前
父節點
當前提交
dbaaf1c3cd
共有 1 個文件被更改,包括 5 次插入6 次删除
  1. 5 6
      compiler/hlcgobj.pas

+ 5 - 6
compiler/hlcgobj.pas

@@ -1344,20 +1344,19 @@ implementation
     var
     var
       tmpreg: tregister;
       tmpreg: tregister;
     begin
     begin
+      tmpreg:=getintregister(list,size);
+      a_load_ref_reg(list,size,size,ref,tmpreg);
       case op of
       case op of
         OP_NOT,OP_NEG:
         OP_NOT,OP_NEG:
-          { handle it as "load ref,reg; op reg" }
           begin
           begin
-            a_load_ref_reg(list,size,size,ref,reg);
-            a_op_reg_reg(list,op,size,reg,reg);
+            a_op_reg_reg(list,op,size,tmpreg,tmpreg);
           end;
           end;
         else
         else
           begin
           begin
-            tmpreg:=getintregister(list,size);
-            a_load_ref_reg(list,size,size,ref,tmpreg);
-            a_op_reg_reg(list,op,size,tmpreg,reg);
+            a_op_reg_reg(list,op,size,reg,tmpreg);
           end;
           end;
       end;
       end;
+      a_load_reg_ref(list,size,size,tmpreg,ref);
     end;
     end;
 
 
   procedure thlcgobj.a_op_ref_reg(list: TAsmList; Op: TOpCG; size: tdef; const ref: TReference; reg: TRegister);
   procedure thlcgobj.a_op_ref_reg(list: TAsmList; Op: TOpCG; size: tdef; const ref: TReference; reg: TRegister);