< prev index next >

src/hotspot/cpu/sparc/c1_Runtime1_sparc.cpp

Print this page
rev 50030 : 8201593: Print array length in ArrayIndexOutOfBoundsException.
Reviewed-by: dholmes, mdoerr, smonteith, shade


 285   assert(FrameMap::nof_fpu_regs == 32, "double registers not handled here");
 286   for (i = 0; i < FrameMap::nof_fpu_regs; i++) {
 287     fpu_reg_save_offsets[i] = sp_offset;
 288     sp_offset++;
 289   }
 290   reg_save_size_in_words = sp_offset - frame::memory_parameter_word_sp_offset;
 291   // this should match assembler::total_frame_size_in_bytes, which
 292   // isn't callable from this context.  It's checked by an assert when
 293   // it's used though.
 294   frame_size_in_bytes = align_up(sp_offset * wordSize, 8);
 295 }
 296 
 297 
 298 OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) {
 299   // make a frame and preserve the caller's caller-save registers
 300   OopMap* oop_map = save_live_registers(sasm);
 301   int call_offset;
 302   if (!has_argument) {
 303     call_offset = __ call_RT(noreg, noreg, target);
 304   } else {
 305     call_offset = __ call_RT(noreg, noreg, target, G4);
 306   }
 307   OopMapSet* oop_maps = new OopMapSet();
 308   oop_maps->add_gc_map(call_offset, oop_map);
 309 
 310   __ should_not_reach_here();
 311   return oop_maps;
 312 }
 313 
 314 
 315 OopMapSet* Runtime1::generate_stub_call(StubAssembler* sasm, Register result, address target,
 316                                         Register arg1, Register arg2, Register arg3) {
 317   // make a frame and preserve the caller's caller-save registers
 318   OopMap* oop_map = save_live_registers(sasm);
 319 
 320   int call_offset;
 321   if (arg1 == noreg) {
 322     call_offset = __ call_RT(result, noreg, target);
 323   } else if (arg2 == noreg) {
 324     call_offset = __ call_RT(result, noreg, target, arg1);
 325   } else if (arg3 == noreg) {




 285   assert(FrameMap::nof_fpu_regs == 32, "double registers not handled here");
 286   for (i = 0; i < FrameMap::nof_fpu_regs; i++) {
 287     fpu_reg_save_offsets[i] = sp_offset;
 288     sp_offset++;
 289   }
 290   reg_save_size_in_words = sp_offset - frame::memory_parameter_word_sp_offset;
 291   // this should match assembler::total_frame_size_in_bytes, which
 292   // isn't callable from this context.  It's checked by an assert when
 293   // it's used though.
 294   frame_size_in_bytes = align_up(sp_offset * wordSize, 8);
 295 }
 296 
 297 
 298 OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) {
 299   // make a frame and preserve the caller's caller-save registers
 300   OopMap* oop_map = save_live_registers(sasm);
 301   int call_offset;
 302   if (!has_argument) {
 303     call_offset = __ call_RT(noreg, noreg, target);
 304   } else {
 305     call_offset = __ call_RT(noreg, noreg, target, G4, G5);
 306   }
 307   OopMapSet* oop_maps = new OopMapSet();
 308   oop_maps->add_gc_map(call_offset, oop_map);
 309 
 310   __ should_not_reach_here();
 311   return oop_maps;
 312 }
 313 
 314 
 315 OopMapSet* Runtime1::generate_stub_call(StubAssembler* sasm, Register result, address target,
 316                                         Register arg1, Register arg2, Register arg3) {
 317   // make a frame and preserve the caller's caller-save registers
 318   OopMap* oop_map = save_live_registers(sasm);
 319 
 320   int call_offset;
 321   if (arg1 == noreg) {
 322     call_offset = __ call_RT(result, noreg, target);
 323   } else if (arg2 == noreg) {
 324     call_offset = __ call_RT(result, noreg, target, arg1);
 325   } else if (arg3 == noreg) {


< prev index next >