hotspot/src/share/vm/prims/methodHandles.hpp
changeset 11487 f45d945367d4
parent 10551 095307d09cb3
child 13391 30245956af37
equal deleted inserted replaced
11486:cdc636532368 11487:f45d945367d4
   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.