فهرست منبع

* skip temp (de)allocs when looking for store/regdealloc/load and
regalloc/regdealloc sequences

git-svn-id: trunk@31454 -

Jonas Maebe 10 سال پیش
والد
کامیت
51864b0458
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      compiler/jvm/rgcpu.pas

+ 3 - 3
compiler/jvm/rgcpu.pas

@@ -181,8 +181,8 @@ implementation
             and remove. We don't have to check that the load/store
             and remove. We don't have to check that the load/store
             types match, because they have to for this to be
             types match, because they have to for this to be
             valid JVM code }
             valid JVM code }
-          dealloc:=nextskipping(p,[ait_comment]);
-          load:=nextskipping(dealloc,[ait_comment]);
+          dealloc:=nextskipping(p,[ait_comment,ait_tempalloc]);
+          load:=nextskipping(dealloc,[ait_comment,ait_tempalloc]);
           reg:=NR_NO;
           reg:=NR_NO;
           if issimpleregstore(p,reg,true) and
           if issimpleregstore(p,reg,true) and
              isregallocoftyp(dealloc,ra_dealloc,reg) and
              isregallocoftyp(dealloc,ra_dealloc,reg) and
@@ -215,7 +215,7 @@ implementation
                 ait_regalloc:
                 ait_regalloc:
                   begin
                   begin
                     reg:=NR_NO;
                     reg:=NR_NO;
-                    next:=nextskipping(p,[ait_comment]);
+                    next:=nextskipping(p,[ait_comment,ait_tempalloc]);
                     nextnext:=nextskipping(next,[ait_comment,ait_regalloc]);
                     nextnext:=nextskipping(next,[ait_comment,ait_regalloc]);
                     if assigned(nextnext) then
                     if assigned(nextnext) then
                       begin
                       begin