equal
deleted
inserted
replaced
445 int offset = target-(blk_starts[i] + jmp_end[i]); |
445 int offset = target-(blk_starts[i] + jmp_end[i]); |
446 if (_matcher->is_short_branch_offset(offset)) { |
446 if (_matcher->is_short_branch_offset(offset)) { |
447 // We've got a winner. Replace this branch. |
447 // We've got a winner. Replace this branch. |
448 MachNode *replacement = mach->short_branch_version(this); |
448 MachNode *replacement = mach->short_branch_version(this); |
449 b->_nodes.map(j, replacement); |
449 b->_nodes.map(j, replacement); |
|
450 mach->subsume_by(replacement); |
450 |
451 |
451 // Update the jmp_end size to save time in our |
452 // Update the jmp_end size to save time in our |
452 // next pass. |
453 // next pass. |
453 jmp_end[i] -= (mach->size(_regalloc) - replacement->size(_regalloc)); |
454 jmp_end[i] -= (mach->size(_regalloc) - replacement->size(_regalloc)); |
454 DEBUG_ONLY( jmp_target[i] = bnum; ); |
455 DEBUG_ONLY( jmp_target[i] = bnum; ); |