Mercurial > hg > truffle
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, |