Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/output.cpp @ 1543:1a1603f975b5
Merge
author | kvn |
---|---|
date | Wed, 19 May 2010 10:22:39 -0700 |
parents | f03d0a26bf83 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1542:eb79484f795f | 1543:1a1603f975b5 |
---|---|
1229 // Make sure safepoint node for polling is distinct from a call's | 1229 // Make sure safepoint node for polling is distinct from a call's |
1230 // return by adding a nop if needed. | 1230 // return by adding a nop if needed. |
1231 if (is_sfn && !is_mcall && padding == 0 && current_offset == last_call_offset ) { | 1231 if (is_sfn && !is_mcall && padding == 0 && current_offset == last_call_offset ) { |
1232 padding = nop_size; | 1232 padding = nop_size; |
1233 } | 1233 } |
1234 assert( labels_not_set || padding == 0, "instruction should already be aligned") | 1234 assert( labels_not_set || padding == 0, "instruction should already be aligned"); |
1235 | 1235 |
1236 if(padding > 0) { | 1236 if(padding > 0) { |
1237 assert((padding % nop_size) == 0, "padding is not a multiple of NOP size"); | 1237 assert((padding % nop_size) == 0, "padding is not a multiple of NOP size"); |
1238 int nops_cnt = padding / nop_size; | 1238 int nops_cnt = padding / nop_size; |
1239 MachNode *nop = new (this) MachNopNode(nops_cnt); | 1239 MachNode *nop = new (this) MachNopNode(nops_cnt); |
2405 if( prior_use && !edge_from_to(prior_use,n) ) { | 2405 if( prior_use && !edge_from_to(prior_use,n) ) { |
2406 tty->print("%s = ",OptoReg::as_VMReg(def)->name()); | 2406 tty->print("%s = ",OptoReg::as_VMReg(def)->name()); |
2407 n->dump(); | 2407 n->dump(); |
2408 tty->print_cr("..."); | 2408 tty->print_cr("..."); |
2409 prior_use->dump(); | 2409 prior_use->dump(); |
2410 assert_msg(edge_from_to(prior_use,n),msg); | 2410 assert(edge_from_to(prior_use,n),msg); |
2411 } | 2411 } |
2412 _reg_node.map(def,NULL); // Kill live USEs | 2412 _reg_node.map(def,NULL); // Kill live USEs |
2413 } | 2413 } |
2414 } | 2414 } |
2415 | 2415 |
2444 Node *def = n->in(i); | 2444 Node *def = n->in(i); |
2445 assert(def != 0, "input edge required"); | 2445 assert(def != 0, "input edge required"); |
2446 OptoReg::Name reg_lo = _regalloc->get_reg_first(def); | 2446 OptoReg::Name reg_lo = _regalloc->get_reg_first(def); |
2447 OptoReg::Name reg_hi = _regalloc->get_reg_second(def); | 2447 OptoReg::Name reg_hi = _regalloc->get_reg_second(def); |
2448 if( OptoReg::is_valid(reg_lo) ) { | 2448 if( OptoReg::is_valid(reg_lo) ) { |
2449 assert_msg(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo],def), msg ); | 2449 assert(!_reg_node[reg_lo] || edge_from_to(_reg_node[reg_lo],def), msg); |
2450 _reg_node.map(reg_lo,n); | 2450 _reg_node.map(reg_lo,n); |
2451 } | 2451 } |
2452 if( OptoReg::is_valid(reg_hi) ) { | 2452 if( OptoReg::is_valid(reg_hi) ) { |
2453 assert_msg(!_reg_node[reg_hi] || edge_from_to(_reg_node[reg_hi],def), msg ); | 2453 assert(!_reg_node[reg_hi] || edge_from_to(_reg_node[reg_hi],def), msg); |
2454 _reg_node.map(reg_hi,n); | 2454 _reg_node.map(reg_hi,n); |
2455 } | 2455 } |
2456 } | 2456 } |
2457 | 2457 |
2458 } | 2458 } |