< prev index next >
src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp
Print this page
@@ -336,10 +336,31 @@
//
// 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*
// rcx: scratrch
// r13: sender sp
< prev index next >