src/hotspot/cpu/ppc/macroAssembler_ppc.inline.hpp
changeset 48506 478e77658965
parent 47216 71c04702a3d5
child 50162 f9fe56417050
equal deleted inserted replaced
48505:5db30620a3db 48506:478e77658965
    28 
    28 
    29 #include "asm/assembler.inline.hpp"
    29 #include "asm/assembler.inline.hpp"
    30 #include "asm/macroAssembler.hpp"
    30 #include "asm/macroAssembler.hpp"
    31 #include "asm/codeBuffer.hpp"
    31 #include "asm/codeBuffer.hpp"
    32 #include "code/codeCache.hpp"
    32 #include "code/codeCache.hpp"
       
    33 #include "runtime/safepointMechanism.hpp"
    33 
    34 
    34 inline bool MacroAssembler::is_ld_largeoffset(address a) {
    35 inline bool MacroAssembler::is_ld_largeoffset(address a) {
    35   const int inst1 = *(int *)a;
    36   const int inst1 = *(int *)a;
    36   const int inst2 = *(int *)(a+4);
    37   const int inst2 = *(int *)(a+4);
    37   return (is_ld(inst1)) ||
    38   return (is_ld(inst1)) ||
   259   return _last_calls_return_pc;
   260   return _last_calls_return_pc;
   260 }
   261 }
   261 
   262 
   262 // Read from the polling page, its address is already in a register.
   263 // Read from the polling page, its address is already in a register.
   263 inline void MacroAssembler::load_from_polling_page(Register polling_page_address, int offset) {
   264 inline void MacroAssembler::load_from_polling_page(Register polling_page_address, int offset) {
   264   ld(R0, offset, polling_page_address);
   265   if (SafepointMechanism::uses_thread_local_poll() && USE_POLL_BIT_ONLY) {
       
   266     int encoding = SafepointMechanism::poll_bit();
       
   267     tdi(traptoGreaterThanUnsigned | traptoEqual, polling_page_address, encoding);
       
   268   } else {
       
   269     ld(R0, offset, polling_page_address);
       
   270   }
   265 }
   271 }
   266 
   272 
   267 // Trap-instruction-based checks.
   273 // Trap-instruction-based checks.
   268 
   274 
   269 inline void MacroAssembler::trap_null_check(Register a, trap_to_bits cmp) {
   275 inline void MacroAssembler::trap_null_check(Register a, trap_to_bits cmp) {