9 comments

  • selcuka 9 minutes ago
    To be fair it is possible that the developer enabled a special "unroll all loops, no matter what" optimisation flag during compilation.

    I agree it would be stupid for a compiler to even support such a flag, but those were the 1980s/90s.

  • hodgehog11 55 minutes ago
    I think we're starting to see more of this sort of thing happening now with Proton and Wine gaining prominence in the Linux community. Some games (Elden Ring comes to mind) have bad enough PC ports when they come out that the compatibility layer can incorporate a hotfix to improve performance, while users of the software on the original platform still had to suffer.
  • dlcarrier 26 minutes ago
    SimCity had a read-after-free bug that Microsoft patched in Windows 95. That was a lot easier for customers than having Maxis fix it, which could have required exchanging copies of the game.
  • classichasclass 49 minutes ago
    Betting Alpha was the native architecture in question. It seemed to have the best support.
  • notorandit 47 minutes ago
    > they fixed it during emulation

    It means the fix was applied to run during the emulation loop execution, not that the fix was found and applied while the emulation loop was running.

    Which would have made it an emulation code escape.

  • jeffbee 36 minutes ago
    People from Transmeta told me stories about how their translators were full of special case optimizations to fix horrors they discovered in Microsoft Windows itself.
  • electroglyph 14 minutes ago
    heh, when Raymond Chen dunks on the MSVC team =)
  • m1r 49 minutes ago
    Couldn't they just turn the optimization off for this loop?
    • MadnessASAP 47 minutes ago
      They didn't have the code for the offensive program, they were creating the emulator to run it on a different architecture.
    • notorandit 45 minutes ago
      Which optimizer replaces a 64k loop with 64k instructions?

      Ah, yes. Microsoft's!

      • selcuka 11 minutes ago
        There is no indication that the compiler that produced the code was Microsoft's. Actually the article hints otherwise ("[...] whatever compiler was used to compile this code").
  • yieldcrv 28 minutes ago
    > All in all, it took this program 256 kilobytes of code to initialize 64 kilobytes of data.

    solidity sweating profusely