--- old/src/cpu/x86/vm/assembler_x86.cpp 2016-01-08 17:22:29.179519900 -0800 +++ new/src/cpu/x86/vm/assembler_x86.cpp 2016-01-08 17:22:28.836519900 -0800 @@ -1891,6 +1891,12 @@ emit_int8((unsigned char)(0xF0 | encode)); } +void Assembler::imull(Register src) { + int encode = prefix_and_encode(src->encoding()); + emit_int8((unsigned char)0xF7); + emit_int8((unsigned char)(0xE8 | encode)); +} + void Assembler::imull(Register dst, Register src) { int encode = prefix_and_encode(dst->encoding(), src->encoding()); emit_int8(0x0F); @@ -4112,6 +4118,14 @@ emit_arith_b(0xF6, 0xC0, dst, imm8); } +void Assembler::testb(Address dst, int imm8) { + InstructionMark im(this); + prefix(dst); + emit_int8((unsigned char)0xF6); + emit_operand(rax, dst, 1); + emit_int8(imm8); +} + void Assembler::testl(Register dst, int32_t imm32) { // not using emit_arith because test // doesn't support sign-extension of