< prev index next >

src/hotspot/cpu/arm/arm.ad

Print this page
rev 53683 : 8218625: Remove dead code in relocInfo
Reviewed-by: TBD


 335     st->print("MOV    Rtemp, #PollAddr\t! Load Polling address\n\t");
 336     st->print("LDR    Rtemp,[Rtemp]\t!Poll for Safepointing");
 337   }
 338 }
 339 #endif
 340 
 341 void MachEpilogNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
 342   MacroAssembler _masm(&cbuf);
 343   Compile* C = ra_->C;
 344 
 345   size_t framesize = C->frame_size_in_bytes();
 346   framesize -= 2*wordSize;
 347   if (framesize != 0) {
 348     __ add_slow(SP, SP, framesize);
 349   }
 350   __ raw_pop(FP, LR);
 351 
 352   // If this does safepoint polling, then do it here
 353   if (do_polling() && ra_->C->is_method_compilation()) {
 354     // mov_slow here is usually one or two instruction
 355     __ mov_address(Rtemp, (address)os::get_polling_page(), symbolic_Relocation::polling_page_reference);
 356     __ relocate(relocInfo::poll_return_type);
 357     __ ldr(Rtemp, Address(Rtemp));
 358   }
 359 }
 360 
 361 uint MachEpilogNode::size(PhaseRegAlloc *ra_) const {
 362   return MachNode::size(ra_);
 363 }
 364 
 365 int MachEpilogNode::reloc() const {
 366   return 16; // a large enough number
 367 }
 368 
 369 const Pipeline * MachEpilogNode::pipeline() const {
 370   return MachNode::pipeline_class();
 371 }
 372 
 373 int MachEpilogNode::safepoint_offset() const {
 374   assert( do_polling(), "no return for this epilog node");
 375   //  return MacroAssembler::size_of_sethi(os::get_polling_page());




 335     st->print("MOV    Rtemp, #PollAddr\t! Load Polling address\n\t");
 336     st->print("LDR    Rtemp,[Rtemp]\t!Poll for Safepointing");
 337   }
 338 }
 339 #endif
 340 
 341 void MachEpilogNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
 342   MacroAssembler _masm(&cbuf);
 343   Compile* C = ra_->C;
 344 
 345   size_t framesize = C->frame_size_in_bytes();
 346   framesize -= 2*wordSize;
 347   if (framesize != 0) {
 348     __ add_slow(SP, SP, framesize);
 349   }
 350   __ raw_pop(FP, LR);
 351 
 352   // If this does safepoint polling, then do it here
 353   if (do_polling() && ra_->C->is_method_compilation()) {
 354     // mov_slow here is usually one or two instruction
 355     __ mov_address(Rtemp, (address)os::get_polling_page());
 356     __ relocate(relocInfo::poll_return_type);
 357     __ ldr(Rtemp, Address(Rtemp));
 358   }
 359 }
 360 
 361 uint MachEpilogNode::size(PhaseRegAlloc *ra_) const {
 362   return MachNode::size(ra_);
 363 }
 364 
 365 int MachEpilogNode::reloc() const {
 366   return 16; // a large enough number
 367 }
 368 
 369 const Pipeline * MachEpilogNode::pipeline() const {
 370   return MachNode::pipeline_class();
 371 }
 372 
 373 int MachEpilogNode::safepoint_offset() const {
 374   assert( do_polling(), "no return for this epilog node");
 375   //  return MacroAssembler::size_of_sethi(os::get_polling_page());


< prev index next >