736 # include "methodHandles_arm.hpp" |
736 # include "methodHandles_arm.hpp" |
737 #endif |
737 #endif |
738 #ifdef TARGET_ARCH_ppc |
738 #ifdef TARGET_ARCH_ppc |
739 # include "methodHandles_ppc.hpp" |
739 # include "methodHandles_ppc.hpp" |
740 #endif |
740 #endif |
741 |
|
742 #ifdef TARGET_ARCH_NYI_6939861 |
|
743 // Here are some backward compatible declarations until the 6939861 ports are updated. |
|
744 #define _adapter_flyby (_EK_LIMIT + 10) |
|
745 #define _adapter_ricochet (_EK_LIMIT + 11) |
|
746 #define _adapter_opt_spread_1 _adapter_opt_spread_1_ref |
|
747 #define _adapter_opt_spread_more _adapter_opt_spread_ref |
|
748 enum { |
|
749 _INSERT_NO_MASK = -1, |
|
750 _INSERT_REF_MASK = 0, |
|
751 _INSERT_INT_MASK = 1, |
|
752 _INSERT_LONG_MASK = 3 |
|
753 }; |
|
754 static void get_ek_bound_mh_info(EntryKind ek, BasicType& arg_type, int& arg_mask, int& arg_slots) { |
|
755 arg_type = ek_bound_mh_arg_type(ek); |
|
756 arg_mask = 0; |
|
757 arg_slots = type2size[arg_type];; |
|
758 } |
|
759 static void get_ek_adapter_opt_swap_rot_info(EntryKind ek, int& swap_bytes, int& rotate) { |
|
760 int swap_slots = ek_adapter_opt_swap_slots(ek); |
|
761 rotate = ek_adapter_opt_swap_mode(ek); |
|
762 swap_bytes = swap_slots * Interpreter::stackElementSize; |
|
763 } |
|
764 static int get_ek_adapter_opt_spread_info(EntryKind ek) { |
|
765 return ek_adapter_opt_spread_count(ek); |
|
766 } |
|
767 |
|
768 static void insert_arg_slots(MacroAssembler* _masm, |
|
769 RegisterOrConstant arg_slots, |
|
770 int arg_mask, |
|
771 Register argslot_reg, |
|
772 Register temp_reg, Register temp2_reg, Register temp3_reg = noreg); |
|
773 |
|
774 static void remove_arg_slots(MacroAssembler* _masm, |
|
775 RegisterOrConstant arg_slots, |
|
776 Register argslot_reg, |
|
777 Register temp_reg, Register temp2_reg, Register temp3_reg = noreg); |
|
778 |
|
779 static void trace_method_handle(MacroAssembler* _masm, const char* adaptername) PRODUCT_RETURN; |
|
780 #endif //TARGET_ARCH_NYI_6939861 |
|
781 }; |
741 }; |
782 |
742 |
783 |
743 |
784 // Access methods for the "entry" field of a java.lang.invoke.MethodHandle. |
744 // Access methods for the "entry" field of a java.lang.invoke.MethodHandle. |
785 // The field is primarily a jump target for compiled calls. |
745 // The field is primarily a jump target for compiled calls. |