comparison src/cpu/x86/vm/templateTable_x86_64.cpp @ 13010:bd3237e0e18d

8026328: Setting a breakpoint on invokedynamic crashes the JVM Reviewed-by: jrose, roland
author twisti
date Thu, 24 Oct 2013 16:23:07 -0700
parents d13d7aba8c12
children 42790b7e4d48
comparison
equal deleted inserted replaced
12968:97d400662426 13010:bd3237e0e18d
2978 __ shrl(flags, ConstantPoolCacheEntry::tos_state_shift); 2978 __ shrl(flags, ConstantPoolCacheEntry::tos_state_shift);
2979 // Make sure we don't need to mask flags after the above shift 2979 // Make sure we don't need to mask flags after the above shift
2980 ConstantPoolCacheEntry::verify_tos_state_shift(); 2980 ConstantPoolCacheEntry::verify_tos_state_shift();
2981 // load return address 2981 // load return address
2982 { 2982 {
2983 const address table_addr = (is_invokeinterface || is_invokedynamic) ? 2983 const address table_addr = (address) Interpreter::invoke_return_entry_table_for(code);
2984 (address)Interpreter::return_5_addrs_by_index_table() :
2985 (address)Interpreter::return_3_addrs_by_index_table();
2986 ExternalAddress table(table_addr); 2984 ExternalAddress table(table_addr);
2987 __ lea(rscratch1, table); 2985 __ lea(rscratch1, table);
2988 __ movptr(flags, Address(rscratch1, flags, Address::times_ptr)); 2986 __ movptr(flags, Address(rscratch1, flags, Address::times_ptr));
2989 } 2987 }
2990 2988