< prev index next >

src/hotspot/cpu/ppc/c1_Runtime1_ppc.cpp

Print this page

240 
241 void Runtime1::initialize_pd() {
242   int i;
243   int sp_offset = frame::native_abi_reg_args_size;
244 
245   for (i = 0; i < FrameMap::nof_cpu_regs; i++) {
246     Register r = as_Register(i);
247     if (FrameMap::reg_needs_save(r)) {
248       cpu_reg_save_offsets[i] = sp_offset;
249       sp_offset += BytesPerWord;
250     }
251   }
252 
253   for (i = 0; i < FrameMap::nof_fpu_regs; i++) {
254     fpu_reg_save_offsets[i] = sp_offset;
255     sp_offset += BytesPerWord;
256   }
257   frame_size_in_bytes = align_up(sp_offset, frame::alignment_in_bytes);
258 }
259 




260 
261 OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) {
262   // Make a frame and preserve the caller's caller-save registers.
263   OopMap* oop_map = save_live_registers(sasm);
264 
265   int call_offset;
266   if (!has_argument) {
267     call_offset = __ call_RT(noreg, noreg, target);
268   } else {
269     call_offset = __ call_RT(noreg, noreg, target, R4_ARG2);
270   }
271   OopMapSet* oop_maps = new OopMapSet();
272   oop_maps->add_gc_map(call_offset, oop_map);
273 
274   __ should_not_reach_here();
275   return oop_maps;
276 }
277 
278 static OopMapSet* generate_exception_throw_with_stack_parms(StubAssembler* sasm, address target,
279                                                             int stack_parms) {

240 
241 void Runtime1::initialize_pd() {
242   int i;
243   int sp_offset = frame::native_abi_reg_args_size;
244 
245   for (i = 0; i < FrameMap::nof_cpu_regs; i++) {
246     Register r = as_Register(i);
247     if (FrameMap::reg_needs_save(r)) {
248       cpu_reg_save_offsets[i] = sp_offset;
249       sp_offset += BytesPerWord;
250     }
251   }
252 
253   for (i = 0; i < FrameMap::nof_fpu_regs; i++) {
254     fpu_reg_save_offsets[i] = sp_offset;
255     sp_offset += BytesPerWord;
256   }
257   frame_size_in_bytes = align_up(sp_offset, frame::alignment_in_bytes);
258 }
259 
260 uint Runtime1::runtime_blob_current_thread_offset(frame f) {
261   Unimplemented();
262   return 0;
263 }
264 
265 OopMapSet* Runtime1::generate_exception_throw(StubAssembler* sasm, address target, bool has_argument) {
266   // Make a frame and preserve the caller's caller-save registers.
267   OopMap* oop_map = save_live_registers(sasm);
268 
269   int call_offset;
270   if (!has_argument) {
271     call_offset = __ call_RT(noreg, noreg, target);
272   } else {
273     call_offset = __ call_RT(noreg, noreg, target, R4_ARG2);
274   }
275   OopMapSet* oop_maps = new OopMapSet();
276   oop_maps->add_gc_map(call_offset, oop_map);
277 
278   __ should_not_reach_here();
279   return oop_maps;
280 }
281 
282 static OopMapSet* generate_exception_throw_with_stack_parms(StubAssembler* sasm, address target,
283                                                             int stack_parms) {
< prev index next >