< prev index next >

src/hotspot/cpu/sparc/c1_MacroAssembler_sparc.cpp

Print this page




  47   jump_to(ic_miss, temp_reg);
  48   delayed()->nop();
  49   align(CodeEntryAlignment);
  50   bind(L);
  51 }
  52 
  53 
  54 void C1_MacroAssembler::explicit_null_check(Register base) {
  55   Unimplemented();
  56 }
  57 
  58 
  59 void C1_MacroAssembler::build_frame(int frame_size_in_bytes, int bang_size_in_bytes) {
  60   assert(bang_size_in_bytes >= frame_size_in_bytes, "stack bang size incorrect");
  61   generate_stack_overflow_check(bang_size_in_bytes);
  62   // Create the frame.
  63   save_frame_c1(frame_size_in_bytes);
  64 }
  65 
  66 
  67 void C1_MacroAssembler::unverified_entry(Register receiver, Register ic_klass) {
  68   if (C1Breakpoint) breakpoint_trap();
  69   inline_cache_check(receiver, ic_klass);
  70 }
  71 
  72 
  73 void C1_MacroAssembler::verified_entry() {
  74   if (C1Breakpoint) breakpoint_trap();
  75   // build frame
  76   verify_FPU(0, "method_entry");
  77 }
  78 
  79 
  80 void C1_MacroAssembler::lock_object(Register Rmark, Register Roop, Register Rbox, Register Rscratch, Label& slow_case) {
  81   assert_different_registers(Rmark, Roop, Rbox, Rscratch);
  82 
  83   Label done;
  84 
  85   Address mark_addr(Roop, oopDesc::mark_offset_in_bytes());
  86 
  87   // The following move must be the first instruction of emitted since debug
  88   // information may be generated for it.
  89   // Load object header
  90   ld_ptr(mark_addr, Rmark);
  91 
  92   verify_oop(Roop);




  47   jump_to(ic_miss, temp_reg);
  48   delayed()->nop();
  49   align(CodeEntryAlignment);
  50   bind(L);
  51 }
  52 
  53 
  54 void C1_MacroAssembler::explicit_null_check(Register base) {
  55   Unimplemented();
  56 }
  57 
  58 
  59 void C1_MacroAssembler::build_frame(int frame_size_in_bytes, int bang_size_in_bytes) {
  60   assert(bang_size_in_bytes >= frame_size_in_bytes, "stack bang size incorrect");
  61   generate_stack_overflow_check(bang_size_in_bytes);
  62   // Create the frame.
  63   save_frame_c1(frame_size_in_bytes);
  64 }
  65 
  66 






  67 void C1_MacroAssembler::verified_entry() {
  68   if (C1Breakpoint) breakpoint_trap();
  69   // build frame
  70   verify_FPU(0, "method_entry");
  71 }
  72 
  73 
  74 void C1_MacroAssembler::lock_object(Register Rmark, Register Roop, Register Rbox, Register Rscratch, Label& slow_case) {
  75   assert_different_registers(Rmark, Roop, Rbox, Rscratch);
  76 
  77   Label done;
  78 
  79   Address mark_addr(Roop, oopDesc::mark_offset_in_bytes());
  80 
  81   // The following move must be the first instruction of emitted since debug
  82   // information may be generated for it.
  83   // Load object header
  84   ld_ptr(mark_addr, Rmark);
  85 
  86   verify_oop(Roop);


< prev index next >