equal
deleted
inserted
replaced
213 block->print(ip); |
213 block->print(ip); |
214 } |
214 } |
215 #endif /* PRODUCT */ |
215 #endif /* PRODUCT */ |
216 |
216 |
217 assert(block->lir() != NULL, "must have LIR"); |
217 assert(block->lir() != NULL, "must have LIR"); |
218 IA32_ONLY(assert(_masm->rsp_offset() == 0, "frame size should be fixed")); |
218 X86_ONLY(assert(_masm->rsp_offset() == 0, "frame size should be fixed")); |
219 |
219 |
220 #ifndef PRODUCT |
220 #ifndef PRODUCT |
221 if (CommentedAssembly) { |
221 if (CommentedAssembly) { |
222 stringStream st; |
222 stringStream st; |
223 st.print_cr(" block B%d [%d, %d]", block->block_id(), block->bci(), block->end()->bci()); |
223 st.print_cr(" block B%d [%d, %d]", block->block_id(), block->bci(), block->end()->bci()); |
225 } |
225 } |
226 #endif |
226 #endif |
227 |
227 |
228 emit_lir_list(block->lir()); |
228 emit_lir_list(block->lir()); |
229 |
229 |
230 IA32_ONLY(assert(_masm->rsp_offset() == 0, "frame size should be fixed")); |
230 X86_ONLY(assert(_masm->rsp_offset() == 0, "frame size should be fixed")); |
231 } |
231 } |
232 |
232 |
233 |
233 |
234 void LIR_Assembler::emit_lir_list(LIR_List* list) { |
234 void LIR_Assembler::emit_lir_list(LIR_List* list) { |
235 peephole(list); |
235 peephole(list); |
432 case lir_virtual_call: |
432 case lir_virtual_call: |
433 vtable_call(op->vtable_offset(), op->info()); |
433 vtable_call(op->vtable_offset(), op->info()); |
434 break; |
434 break; |
435 default: ShouldNotReachHere(); |
435 default: ShouldNotReachHere(); |
436 } |
436 } |
437 #if defined(IA32) && defined(TIERED) |
437 #if defined(X86) && defined(TIERED) |
438 // C2 leave fpu stack dirty clean it |
438 // C2 leave fpu stack dirty clean it |
439 if (UseSSE < 2) { |
439 if (UseSSE < 2) { |
440 int i; |
440 int i; |
441 for ( i = 1; i <= 7 ; i++ ) { |
441 for ( i = 1; i <= 7 ; i++ ) { |
442 ffree(i); |
442 ffree(i); |
443 } |
443 } |
444 if (!op->result_opr()->is_float_kind()) { |
444 if (!op->result_opr()->is_float_kind()) { |
445 ffree(0); |
445 ffree(0); |
446 } |
446 } |
447 } |
447 } |
448 #endif // IA32 && TIERED |
448 #endif // X86 && TIERED |
449 } |
449 } |
450 |
450 |
451 |
451 |
452 void LIR_Assembler::emit_opLabel(LIR_OpLabel* op) { |
452 void LIR_Assembler::emit_opLabel(LIR_OpLabel* op) { |
453 _masm->bind (*(op->label())); |
453 _masm->bind (*(op->label())); |