• MangoCats@feddit.it
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 hours ago

    The question the optimizer can’t really answer is: will Random.nextInt() ever return 10? If that’s a 64 bit integer it could be a LOOOOOONG time before 10 ever shows up.

    • ferric_carcinization@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 hours ago

      If it were a magic lang item, you could treat the resulting value in a special way. Then, you could create an optimization pass for this situation: if a variable is assigned random in a loop and the loop can only be exited with a certain value, the compiler can coerce the magic rand value to it.