[Baseline] Store constant directly in emit_op_mov
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Jun 2018 04:45:24 +0000 (04:45 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 1 Jun 2018 04:45:24 +0000 (04:45 +0000)
commit9f6562e580b379be07bd2d02ff7b749a26f24e49
treef60bf0b0d442c19704d66e5d8d54539cc89cd181
parent90dbf74b29e6010be25e172a7712b543c2d4fc07
[Baseline] Store constant directly in emit_op_mov
https://bugs.webkit.org/show_bug.cgi?id=186182

Reviewed by Saam Barati.

In the old code, we first move a constant to a register and store it to the specified address.
But in 64bit JSC, we can directly store a constant to the specified address. This reduces the
generated code size. Since the old code was emitting a constant in a code anyway, this change
never increases the size of the generated code.

* jit/JITInlines.h:
(JSC::JIT::emitGetVirtualRegister):
We remove this obsolete comment. Our OSR relies on the fact that values are stored and loaded
from the stack. If we transfer values in registers without loading values from the stack, it
breaks this assumption.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_mov):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/JITInlines.h
Source/JavaScriptCore/jit/JITOpcodes.cpp