< prev index next >

src/cpu/ppc/vm/macroAssembler_ppc.hpp

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile


 555                             Label& DONE_LABEL);
 556 #endif
 557 
 558   void compiler_fast_lock_object(ConditionRegister flag, Register oop, Register box,
 559                                  Register tmp1, Register tmp2, Register tmp3,
 560                                  bool try_bias = UseBiasedLocking,
 561                                  RTMLockingCounters* rtm_counters = NULL,
 562                                  RTMLockingCounters* stack_rtm_counters = NULL,
 563                                  Metadata* method_data = NULL,
 564                                  bool use_rtm = false, bool profile_rtm = false);
 565 
 566   void compiler_fast_unlock_object(ConditionRegister flag, Register oop, Register box,
 567                                    Register tmp1, Register tmp2, Register tmp3,
 568                                    bool try_bias = UseBiasedLocking, bool use_rtm = false);
 569 
 570   // Support for serializing memory accesses between threads
 571   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 572 
 573   // GC barrier support.
 574   void card_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp);
 575   void card_table_write(jbyte* byte_map_base, Register Rtmp, Register Robj);
 576 
 577 #if INCLUDE_ALL_GCS
 578   // General G1 pre-barrier generator.
 579   void g1_write_barrier_pre(Register Robj, RegisterOrConstant offset, Register Rpre_val,
 580                             Register Rtmp1, Register Rtmp2, bool needs_frame = false);
 581   // General G1 post-barrier generator
 582   void g1_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp1,
 583                              Register Rtmp2, Register Rtmp3, Label *filtered_ext = NULL);
 584 #endif
 585 
 586   // Support for managing the JavaThread pointer (i.e.; the reference to
 587   // thread-local information).
 588 
 589   // Support for last Java frame (but use call_VM instead where possible):
 590   // access R16_thread->last_Java_sp.
 591   void set_last_Java_frame(Register last_java_sp, Register last_Java_pc);
 592   void reset_last_Java_frame(void);
 593   void set_top_ijava_frame_at_SP_as_last_Java_frame(Register sp, Register tmp1);
 594 
 595   // Read vm result from thread: oop_result = R16_thread->result;




 555                             Label& DONE_LABEL);
 556 #endif
 557 
 558   void compiler_fast_lock_object(ConditionRegister flag, Register oop, Register box,
 559                                  Register tmp1, Register tmp2, Register tmp3,
 560                                  bool try_bias = UseBiasedLocking,
 561                                  RTMLockingCounters* rtm_counters = NULL,
 562                                  RTMLockingCounters* stack_rtm_counters = NULL,
 563                                  Metadata* method_data = NULL,
 564                                  bool use_rtm = false, bool profile_rtm = false);
 565 
 566   void compiler_fast_unlock_object(ConditionRegister flag, Register oop, Register box,
 567                                    Register tmp1, Register tmp2, Register tmp3,
 568                                    bool try_bias = UseBiasedLocking, bool use_rtm = false);
 569 
 570   // Support for serializing memory accesses between threads
 571   void serialize_memory(Register thread, Register tmp1, Register tmp2);
 572 
 573   // GC barrier support.
 574   void card_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp);
 575   void card_table_write(volatile jbyte* byte_map_base, Register Rtmp, Register Robj);
 576 
 577 #if INCLUDE_ALL_GCS
 578   // General G1 pre-barrier generator.
 579   void g1_write_barrier_pre(Register Robj, RegisterOrConstant offset, Register Rpre_val,
 580                             Register Rtmp1, Register Rtmp2, bool needs_frame = false);
 581   // General G1 post-barrier generator
 582   void g1_write_barrier_post(Register Rstore_addr, Register Rnew_val, Register Rtmp1,
 583                              Register Rtmp2, Register Rtmp3, Label *filtered_ext = NULL);
 584 #endif
 585 
 586   // Support for managing the JavaThread pointer (i.e.; the reference to
 587   // thread-local information).
 588 
 589   // Support for last Java frame (but use call_VM instead where possible):
 590   // access R16_thread->last_Java_sp.
 591   void set_last_Java_frame(Register last_java_sp, Register last_Java_pc);
 592   void reset_last_Java_frame(void);
 593   void set_top_ijava_frame_at_SP_as_last_Java_frame(Register sp, Register tmp1);
 594 
 595   // Read vm result from thread: oop_result = R16_thread->result;


< prev index next >