compilePatchGetArrayLength(...) in JIT.h creates a JIT jit(...) but the constructor does not set the m_canOptimize boolean flag for a default value when DFG JIT is enabled. After that it calls JIT::emitArrayProfilingSiteForBytecodeIndex(...) in JITInlineMethods.h which calls JIT::emitArrayProfilingSite(...). The latter do things randomly depending on the optimization flag. I think this behaviour is not intentional, so how can I fix it?