Sfoglia il codice sorgente

- disabled the set constant caching via static variables for now because
their initialization can cause races between the unit they are declared
in and the class constructor they are initialized in (even if both
would be moved to the unit initialization code, a class constructor
using the set constant could run before the unit initialization code has
run)

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

Jonas Maebe 14 anni fa
parent
commit
d8977b0342
1 ha cambiato i file con 3 aggiunte e 0 eliminazioni
  1. 3 0
      compiler/jvm/njvmcon.pas

+ 3 - 0
compiler/jvm/njvmcon.pas

@@ -343,6 +343,7 @@ implementation
           setconsttype:=sct_construct;
         result:=nil;
         case setconsttype of
+(*
           sct_constsymbol:
             begin
               { normally a codegen pass routine, but we have to insert a typed
@@ -354,12 +355,14 @@ implementation
               { no smallsets }
               expectloc:=LOC_CREFERENCE;
             end;
+*)
           sct_notransform:
             begin
               result:=inherited pass_1;
               { no smallsets }
               expectloc:=LOC_CREFERENCE;
             end;
+          sct_constsymbol,
           sct_construct:
             begin
               eledef:=tsetdef(resultdef).elementdef;