2982 __ shrl(flags, ConstantPoolCacheEntry::tos_state_shift); |
2982 __ shrl(flags, ConstantPoolCacheEntry::tos_state_shift); |
2983 // Make sure we don't need to mask flags after the above shift |
2983 // Make sure we don't need to mask flags after the above shift |
2984 ConstantPoolCacheEntry::verify_tos_state_shift(); |
2984 ConstantPoolCacheEntry::verify_tos_state_shift(); |
2985 // load return address |
2985 // load return address |
2986 { |
2986 { |
2987 const address table_addr = (is_invokeinterface || is_invokedynamic) ? |
2987 const address table_addr = (address) Interpreter::invoke_return_entry_table_for(code); |
2988 (address)Interpreter::return_5_addrs_by_index_table() : |
|
2989 (address)Interpreter::return_3_addrs_by_index_table(); |
|
2990 ExternalAddress table(table_addr); |
2988 ExternalAddress table(table_addr); |
2991 __ lea(rscratch1, table); |
2989 __ lea(rscratch1, table); |
2992 __ movptr(flags, Address(rscratch1, flags, Address::times_ptr)); |
2990 __ movptr(flags, Address(rscratch1, flags, Address::times_ptr)); |
2993 } |
2991 } |
2994 |
2992 |