src/hotspot/cpu/s390/macroAssembler_s390.hpp
changeset 48332 651a95f30dfb
parent 48094 bca569f79fa1
child 48585 d9fcb7ba8133
equal deleted inserted replaced
48331:a8e39cc7b88f 48332:651a95f30dfb
   258   void align_address(int modulus);
   258   void align_address(int modulus);
   259 
   259 
   260   //
   260   //
   261   // Constants, loading constants, TOC support
   261   // Constants, loading constants, TOC support
   262   //
   262   //
   263   // Safepoint check factored out.
       
   264   void generate_safepoint_check(Label& slow_path, Register scratch = noreg, bool may_relocate = true);
       
   265 
   263 
   266   // Load generic address: d <- base(a) + index(a) + disp(a).
   264   // Load generic address: d <- base(a) + index(a) + disp(a).
   267   inline void load_address(Register d, const Address &a);
   265   inline void load_address(Register d, const Address &a);
   268   // Load absolute address (and try to optimize).
   266   // Load absolute address (and try to optimize).
   269   void load_absolute_address(Register d, address addr);
   267   void load_absolute_address(Register d, address addr);
   441   address get_PC(Register result);
   439   address get_PC(Register result);
   442 
   440 
   443   // Get current PC + offset. Offset given in bytes, must be even!
   441   // Get current PC + offset. Offset given in bytes, must be even!
   444   address get_PC(Register result, int64_t offset);
   442   address get_PC(Register result, int64_t offset);
   445 
   443 
       
   444   // Get size of instruction at pc (which must point to valid code).
       
   445   void instr_size(Register size, Register pc);
       
   446 
   446   // Accessing, and in particular modifying, a stack location is only safe if
   447   // Accessing, and in particular modifying, a stack location is only safe if
   447   // the stack pointer (Z_SP) is set such that the accessed stack location is
   448   // the stack pointer (Z_SP) is set such that the accessed stack location is
   448   // in the reserved range.
   449   // in the reserved range.
   449   //
   450   //
   450   // From a performance point of view, it is desirable not to change the SP
   451   // From a performance point of view, it is desirable not to change the SP
   638   // realized by one of the instructions stw, stwu, stwx, or stwux.
   639   // realized by one of the instructions stw, stwu, stwx, or stwux.
   639   static bool is_memory_serialization(int instruction, JavaThread* thread, void* ucontext);
   640   static bool is_memory_serialization(int instruction, JavaThread* thread, void* ucontext);
   640 
   641 
   641   // Support for serializing memory accesses between threads.
   642   // Support for serializing memory accesses between threads.
   642   void serialize_memory(Register thread, Register tmp1, Register tmp2);
   643   void serialize_memory(Register thread, Register tmp1, Register tmp2);
       
   644 
       
   645   // Check if safepoint requested and if so branch
       
   646   void safepoint_poll(Label& slow_path, Register temp_reg);
   643 
   647 
   644   // Stack overflow checking
   648   // Stack overflow checking
   645   void bang_stack_with_offset(int offset);
   649   void bang_stack_with_offset(int offset);
   646 
   650 
   647   // Check for reserved stack access in method being exited. If the reserved
   651   // Check for reserved stack access in method being exited. If the reserved