comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 3756:c8f2186acf6d

7053520: JSR292: crash in invokedynamic with C1 using tiered and compressed oops Reviewed-by: iveresov, never
author twisti
date Tue, 14 Jun 2011 12:25:05 -0700
parents 5d046bf49ce7
children be4ca325525a dc45ae774613
comparison
equal deleted inserted replaced
3755:5cf771a79037 3756:c8f2186acf6d
2797 receiver = LIR_Assembler::receiverOpr(); 2797 receiver = LIR_Assembler::receiverOpr();
2798 LIR_Opr tmp = new_register(objectType); 2798 LIR_Opr tmp = new_register(objectType);
2799 2799
2800 // Load CallSite object from constant pool cache. 2800 // Load CallSite object from constant pool cache.
2801 __ oop2reg(cpcache->constant_encoding(), tmp); 2801 __ oop2reg(cpcache->constant_encoding(), tmp);
2802 __ load(new LIR_Address(tmp, call_site_offset, T_OBJECT), tmp); 2802 __ move_wide(new LIR_Address(tmp, call_site_offset, T_OBJECT), tmp);
2803 2803
2804 // Load target MethodHandle from CallSite object. 2804 // Load target MethodHandle from CallSite object.
2805 __ load(new LIR_Address(tmp, java_lang_invoke_CallSite::target_offset_in_bytes(), T_OBJECT), receiver); 2805 __ load(new LIR_Address(tmp, java_lang_invoke_CallSite::target_offset_in_bytes(), T_OBJECT), receiver);
2806 2806
2807 __ call_dynamic(target, receiver, result_register, 2807 __ call_dynamic(target, receiver, result_register,