Quellcode durchsuchen

* don't internalerror in decstack() if the evaluation stack becomes corrupted
in case -sr is used (-sr code cannot be compiled, and is only used for
debugging; with -alr, the stack slot information is printed in the
assembler file)

git-svn-id: branches/jvmbackend@18410 -

Jonas Maebe vor 14 Jahren
Ursprung
Commit
bf0b8503c9
1 geänderte Dateien mit 2 neuen und 1 gelöschten Zeilen
  1. 2 1
      compiler/jvm/hlcgcpu.pas

+ 2 - 1
compiler/jvm/hlcgcpu.pas

@@ -221,7 +221,8 @@ implementation
       if slots=0 then
         exit;
       dec(fevalstackheight,slots);
-      if (fevalstackheight<0) then
+      if (fevalstackheight<0) and
+         not(cs_no_regalloc in current_settings.globalswitches) then
         internalerror(2010120501);
       if cs_asm_regalloc in current_settings.globalswitches then
         list.concat(tai_comment.Create(strpnew('    freed '+tostr(slots)+', stack height = '+tostr(fevalstackheight))));