src/hotspot/cpu/ppc/macroAssembler_ppc.hpp
changeset 52460 f1bb77833b59
parent 51633 21154cb84d2a
child 52462 4ad404da0088
equal deleted inserted replaced
52459:cbe83e9c2100 52460:f1bb77833b59
   393   // Check whether instruction is a read access to the polling page
   393   // Check whether instruction is a read access to the polling page
   394   // which was emitted by load_from_polling_page(..).
   394   // which was emitted by load_from_polling_page(..).
   395   static bool is_load_from_polling_page(int instruction, void* ucontext/*may be NULL*/,
   395   static bool is_load_from_polling_page(int instruction, void* ucontext/*may be NULL*/,
   396                                         address* polling_address_ptr = NULL);
   396                                         address* polling_address_ptr = NULL);
   397 
   397 
   398   // Check whether instruction is a write access to the memory
       
   399   // serialization page realized by one of the instructions stw, stwu,
       
   400   // stwx, or stwux.
       
   401   static bool is_memory_serialization(int instruction, JavaThread* thread, void* ucontext);
       
   402 
       
   403   // Support for NULL-checks
   398   // Support for NULL-checks
   404   //
   399   //
   405   // Generates code that causes a NULL OS exception if the content of reg is NULL.
   400   // Generates code that causes a NULL OS exception if the content of reg is NULL.
   406   // If the accessed location is M[reg + offset] and the offset is known, provide the
   401   // If the accessed location is M[reg + offset] and the offset is known, provide the
   407   // offset. No explicit code generation is needed if the offset is within a certain
   402   // offset. No explicit code generation is needed if the offset is within a certain
   642                                  bool use_rtm = false, bool profile_rtm = false);
   637                                  bool use_rtm = false, bool profile_rtm = false);
   643 
   638 
   644   void compiler_fast_unlock_object(ConditionRegister flag, Register oop, Register box,
   639   void compiler_fast_unlock_object(ConditionRegister flag, Register oop, Register box,
   645                                    Register tmp1, Register tmp2, Register tmp3,
   640                                    Register tmp1, Register tmp2, Register tmp3,
   646                                    bool try_bias = UseBiasedLocking, bool use_rtm = false);
   641                                    bool try_bias = UseBiasedLocking, bool use_rtm = false);
   647 
       
   648   // Support for serializing memory accesses between threads
       
   649   void serialize_memory(Register thread, Register tmp1, Register tmp2);
       
   650 
   642 
   651   // Check if safepoint requested and if so branch
   643   // Check if safepoint requested and if so branch
   652   void safepoint_poll(Label& slow_path, Register temp_reg);
   644   void safepoint_poll(Label& slow_path, Register temp_reg);
   653 
   645 
   654   void resolve_jobject(Register value, Register tmp1, Register tmp2, bool needs_frame);
   646   void resolve_jobject(Register value, Register tmp1, Register tmp2, bool needs_frame);