equal
deleted
inserted
replaced
286 // rcx: osr buffer |
286 // rcx: osr buffer |
287 // |
287 // |
288 |
288 |
289 // build frame |
289 // build frame |
290 ciMethod* m = compilation()->method(); |
290 ciMethod* m = compilation()->method(); |
291 __ build_frame(initial_frame_size_in_bytes()); |
291 __ build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes()); |
292 |
292 |
293 // OSR buffer is |
293 // OSR buffer is |
294 // |
294 // |
295 // locals[nlocals-1..0] |
295 // locals[nlocals-1..0] |
296 // monitors[0..number_of_locks] |
296 // monitors[0..number_of_locks] |
374 __ mov_metadata(reg, o); |
374 __ mov_metadata(reg, o); |
375 patching_epilog(patch, lir_patch_normal, reg, info); |
375 patching_epilog(patch, lir_patch_normal, reg, info); |
376 } |
376 } |
377 |
377 |
378 // This specifies the rsp decrement needed to build the frame |
378 // This specifies the rsp decrement needed to build the frame |
379 int LIR_Assembler::initial_frame_size_in_bytes() { |
379 int LIR_Assembler::initial_frame_size_in_bytes() const { |
380 // if rounding, must let FrameMap know! |
380 // if rounding, must let FrameMap know! |
381 |
381 |
382 // The frame_map records size in slots (32bit word) |
382 // The frame_map records size in slots (32bit word) |
383 |
383 |
384 // subtract two words to account for return address and link |
384 // subtract two words to account for return address and link |