diff options
Diffstat (limited to 'vm/mterp/c/OP_CONST_WIDE.cpp')
-rw-r--r-- | vm/mterp/c/OP_CONST_WIDE.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vm/mterp/c/OP_CONST_WIDE.cpp b/vm/mterp/c/OP_CONST_WIDE.cpp new file mode 100644 index 0000000..ccb3955 --- /dev/null +++ b/vm/mterp/c/OP_CONST_WIDE.cpp @@ -0,0 +1,14 @@ +HANDLE_OPCODE(OP_CONST_WIDE /*vAA, #+BBBBBBBBBBBBBBBB*/) + { + u8 tmp; + + vdst = INST_AA(inst); + tmp = FETCH(1); + tmp |= (u8)FETCH(2) << 16; + tmp |= (u8)FETCH(3) << 32; + tmp |= (u8)FETCH(4) << 48; + ILOGV("|const-wide v%d,#0x%08llx", vdst, tmp); + SET_REGISTER_WIDE(vdst, tmp); + } + FINISH(5); +OP_END |