--- old/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp 2018-10-31 14:22:34.098959503 +0100 +++ new/src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp 2018-10-31 14:22:33.979959597 +0100 @@ -338,6 +338,27 @@ // Various method entries // +address TemplateInterpreterGenerator::generate_bit_entry(AbstractInterpreter::MethodKind kind) { + address entry = __ pc(); + + const Register bits = c_rarg0; + const Register index = c_rarg1; + + __ movptr(bits, Address(rsp, 2 * wordSize)); + __ movl(index, Address(rsp, 1 * wordSize)); + + if (kind == Interpreter::java_lang_System_setBit) + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::setBit()))); + else + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::clrBit()))); + + __ pop(rax); + __ mov(rsp, r13); + __ jmp(rax); + + return entry; +} + address TemplateInterpreterGenerator::generate_math_entry(AbstractInterpreter::MethodKind kind) { // rbx,: Method*