< prev index next >

src/hotspot/cpu/x86/templateTable_x86.cpp

Print this page
rev 47594 : imported patch Interpreter-Poll-7
rev 47595 : imported patch Interpreter-Poll-Wide_Ret-8
rev 47597 : imported patch Interpreter-Poll-Switch-10

*** 2371,2381 **** __ bind(continue_execution); __ bswapl(rdx); LP64_ONLY(__ movl2ptr(rdx, rdx)); __ load_unsigned_byte(rbx, Address(rbcp, rdx, Address::times_1)); __ addptr(rbcp, rdx); ! __ dispatch_only(vtos); // handle default __ bind(default_case); __ profile_switch_default(rax); __ movl(rdx, Address(rbx, 0)); __ jmp(continue_execution); --- 2371,2381 ---- __ bind(continue_execution); __ bswapl(rdx); LP64_ONLY(__ movl2ptr(rdx, rdx)); __ load_unsigned_byte(rbx, Address(rbcp, rdx, Address::times_1)); __ addptr(rbcp, rdx); ! __ dispatch_only(vtos, true); // handle default __ bind(default_case); __ profile_switch_default(rax); __ movl(rdx, Address(rbx, 0)); __ jmp(continue_execution);
*** 2419,2429 **** __ bind(continue_execution); __ bswapl(rdx); __ movl2ptr(rdx, rdx); __ load_unsigned_byte(rbx, Address(rbcp, rdx, Address::times_1)); __ addptr(rbcp, rdx); ! __ dispatch_only(vtos); } void TemplateTable::fast_binaryswitch() { transition(itos, vtos); // Implementation using the following core algorithm: --- 2419,2429 ---- __ bind(continue_execution); __ bswapl(rdx); __ movl2ptr(rdx, rdx); __ load_unsigned_byte(rbx, Address(rbcp, rdx, Address::times_1)); __ addptr(rbcp, rdx); ! __ dispatch_only(vtos, true); } void TemplateTable::fast_binaryswitch() { transition(itos, vtos); // Implementation using the following core algorithm:
*** 2523,2533 **** NOT_LP64(__ restore_bcp()); NOT_LP64(__ restore_locals()); // restore rdi __ load_unsigned_byte(rbx, Address(rbcp, j, Address::times_1)); __ addptr(rbcp, j); ! __ dispatch_only(vtos); // default case -> j = default offset __ bind(default_case); __ profile_switch_default(i); __ movl(j, Address(array, -2 * BytesPerInt)); --- 2523,2533 ---- NOT_LP64(__ restore_bcp()); NOT_LP64(__ restore_locals()); // restore rdi __ load_unsigned_byte(rbx, Address(rbcp, j, Address::times_1)); __ addptr(rbcp, j); ! __ dispatch_only(vtos, true); // default case -> j = default offset __ bind(default_case); __ profile_switch_default(i); __ movl(j, Address(array, -2 * BytesPerInt));
*** 2537,2547 **** NOT_LP64(__ restore_bcp()); NOT_LP64(__ restore_locals()); __ load_unsigned_byte(rbx, Address(rbcp, j, Address::times_1)); __ addptr(rbcp, j); ! __ dispatch_only(vtos); } void TemplateTable::_return(TosState state) { transition(state, state); --- 2537,2547 ---- NOT_LP64(__ restore_bcp()); NOT_LP64(__ restore_locals()); __ load_unsigned_byte(rbx, Address(rbcp, j, Address::times_1)); __ addptr(rbcp, j); ! __ dispatch_only(vtos, true); } void TemplateTable::_return(TosState state) { transition(state, state);
< prev index next >