op_mov is one of the most executed bytecode. While it is so much executed, its implementation is a bit bloated. The main reason is that src register can take the normal register or constant register. Speedometer Ember.js score shows regression with the new bytecode format. It indicates that LLInt performance is critical even if JIT is fully enabled. I think introducing op_load_const tightens op_mov.