src/hotspot/cpu/x86/interp_masm_x86.hpp
changeset 47881 0ce0ac68ace7
parent 47216 71c04702a3d5
child 49748 6a880e576856
equal deleted inserted replaced
47824:cf127be65014 47881:0ce0ac68ace7
    47                             address  entry_point,
    47                             address  entry_point,
    48                             int number_of_arguments,
    48                             int number_of_arguments,
    49                             bool check_exceptions);
    49                             bool check_exceptions);
    50 
    50 
    51   // base routine for all dispatches
    51   // base routine for all dispatches
    52   void dispatch_base(TosState state, address* table, bool verifyoop = true);
    52   void dispatch_base(TosState state, address* table, bool verifyoop = true, bool generate_poll = false);
    53 
    53 
    54  public:
    54  public:
    55   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code),
    55   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code),
    56     _locals_register(LP64_ONLY(r14) NOT_LP64(rdi)),
    56     _locals_register(LP64_ONLY(r14) NOT_LP64(rdi)),
    57     _bcp_register(LP64_ONLY(r13) NOT_LP64(rsi)) {}
    57     _bcp_register(LP64_ONLY(r13) NOT_LP64(rsi)) {}
   182 
   182 
   183   // Dispatching
   183   // Dispatching
   184   void dispatch_prolog(TosState state, int step = 0);
   184   void dispatch_prolog(TosState state, int step = 0);
   185   void dispatch_epilog(TosState state, int step = 0);
   185   void dispatch_epilog(TosState state, int step = 0);
   186   // dispatch via rbx (assume rbx is loaded already)
   186   // dispatch via rbx (assume rbx is loaded already)
   187   void dispatch_only(TosState state);
   187   void dispatch_only(TosState state, bool generate_poll = false);
   188   // dispatch normal table via rbx (assume rbx is loaded already)
   188   // dispatch normal table via rbx (assume rbx is loaded already)
   189   void dispatch_only_normal(TosState state);
   189   void dispatch_only_normal(TosState state);
   190   void dispatch_only_noverify(TosState state);
   190   void dispatch_only_noverify(TosState state);
   191   // load rbx from [_bcp_register + step] and dispatch via rbx
   191   // load rbx from [_bcp_register + step] and dispatch via rbx
   192   void dispatch_next(TosState state, int step = 0);
   192   void dispatch_next(TosState state, int step = 0, bool generate_poll = false);
   193   // load rbx from [_bcp_register] and dispatch via rbx and table
   193   // load rbx from [_bcp_register] and dispatch via rbx and table
   194   void dispatch_via (TosState state, address* table);
   194   void dispatch_via (TosState state, address* table);
   195 
   195 
   196   // jump to an invoked target
   196   // jump to an invoked target
   197   void prepare_to_jump_from_interpreted();
   197   void prepare_to_jump_from_interpreted();