< prev index next >

src/hotspot/cpu/sparc/c1_Runtime1_sparc.cpp

Print this page
rev 49827 : 8201593: Print array length in ArrayIndexOutOfBoundsException.


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




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


< prev index next >