comparison src/cpu/x86/vm/assembler_x86.cpp @ 2357:8033953d67ff

7012648: move JSR 292 to package java.lang.invoke and adjust names Summary: package and class renaming only; delete unused methods and classes Reviewed-by: twisti
author jrose
date Fri, 11 Mar 2011 22:34:57 -0800
parents 41d4973cf100
children b40d4fa697bf e1162778c1c8
comparison
equal deleted inserted replaced
2356:72dee110246f 2357:8033953d67ff
7829 // - rcx: method handle 7829 // - rcx: method handle
7830 // - rdx, rsi, or ?: killable temp 7830 // - rdx, rsi, or ?: killable temp
7831 void MacroAssembler::check_method_handle_type(Register mtype_reg, Register mh_reg, 7831 void MacroAssembler::check_method_handle_type(Register mtype_reg, Register mh_reg,
7832 Register temp_reg, 7832 Register temp_reg,
7833 Label& wrong_method_type) { 7833 Label& wrong_method_type) {
7834 Address type_addr(mh_reg, delayed_value(java_dyn_MethodHandle::type_offset_in_bytes, temp_reg)); 7834 Address type_addr(mh_reg, delayed_value(java_lang_invoke_MethodHandle::type_offset_in_bytes, temp_reg));
7835 // compare method type against that of the receiver 7835 // compare method type against that of the receiver
7836 if (UseCompressedOops) { 7836 if (UseCompressedOops) {
7837 load_heap_oop(temp_reg, type_addr); 7837 load_heap_oop(temp_reg, type_addr);
7838 cmpptr(mtype_reg, temp_reg); 7838 cmpptr(mtype_reg, temp_reg);
7839 } else { 7839 } else {
7849 // method handle's MethodType. This macro hides the distinction. 7849 // method handle's MethodType. This macro hides the distinction.
7850 void MacroAssembler::load_method_handle_vmslots(Register vmslots_reg, Register mh_reg, 7850 void MacroAssembler::load_method_handle_vmslots(Register vmslots_reg, Register mh_reg,
7851 Register temp_reg) { 7851 Register temp_reg) {
7852 assert_different_registers(vmslots_reg, mh_reg, temp_reg); 7852 assert_different_registers(vmslots_reg, mh_reg, temp_reg);
7853 // load mh.type.form.vmslots 7853 // load mh.type.form.vmslots
7854 if (java_dyn_MethodHandle::vmslots_offset_in_bytes() != 0) { 7854 if (java_lang_invoke_MethodHandle::vmslots_offset_in_bytes() != 0) {
7855 // hoist vmslots into every mh to avoid dependent load chain 7855 // hoist vmslots into every mh to avoid dependent load chain
7856 movl(vmslots_reg, Address(mh_reg, delayed_value(java_dyn_MethodHandle::vmslots_offset_in_bytes, temp_reg))); 7856 movl(vmslots_reg, Address(mh_reg, delayed_value(java_lang_invoke_MethodHandle::vmslots_offset_in_bytes, temp_reg)));
7857 } else { 7857 } else {
7858 Register temp2_reg = vmslots_reg; 7858 Register temp2_reg = vmslots_reg;
7859 load_heap_oop(temp2_reg, Address(mh_reg, delayed_value(java_dyn_MethodHandle::type_offset_in_bytes, temp_reg))); 7859 load_heap_oop(temp2_reg, Address(mh_reg, delayed_value(java_lang_invoke_MethodHandle::type_offset_in_bytes, temp_reg)));
7860 load_heap_oop(temp2_reg, Address(temp2_reg, delayed_value(java_dyn_MethodType::form_offset_in_bytes, temp_reg))); 7860 load_heap_oop(temp2_reg, Address(temp2_reg, delayed_value(java_lang_invoke_MethodType::form_offset_in_bytes, temp_reg)));
7861 movl(vmslots_reg, Address(temp2_reg, delayed_value(java_dyn_MethodTypeForm::vmslots_offset_in_bytes, temp_reg))); 7861 movl(vmslots_reg, Address(temp2_reg, delayed_value(java_lang_invoke_MethodTypeForm::vmslots_offset_in_bytes, temp_reg)));
7862 } 7862 }
7863 } 7863 }
7864 7864
7865 7865
7866 // registers on entry: 7866 // registers on entry:
7871 assert(mh_reg == rcx, "caller must put MH object in rcx"); 7871 assert(mh_reg == rcx, "caller must put MH object in rcx");
7872 assert_different_registers(mh_reg, temp_reg); 7872 assert_different_registers(mh_reg, temp_reg);
7873 7873
7874 // pick out the interpreted side of the handler 7874 // pick out the interpreted side of the handler
7875 // NOTE: vmentry is not an oop! 7875 // NOTE: vmentry is not an oop!
7876 movptr(temp_reg, Address(mh_reg, delayed_value(java_dyn_MethodHandle::vmentry_offset_in_bytes, temp_reg))); 7876 movptr(temp_reg, Address(mh_reg, delayed_value(java_lang_invoke_MethodHandle::vmentry_offset_in_bytes, temp_reg)));
7877 7877
7878 // off we go... 7878 // off we go...
7879 jmp(Address(temp_reg, MethodHandleEntry::from_interpreted_entry_offset_in_bytes())); 7879 jmp(Address(temp_reg, MethodHandleEntry::from_interpreted_entry_offset_in_bytes()));
7880 7880
7881 // for the various stubs which take control at this point, 7881 // for the various stubs which take control at this point,