Tue, 28 Feb 2012 09:13:58 +0100
6910461: Register allocator may insert spill code at wrong insertion index
Summary: When resolving exception edges after register allocation, the C1 register allocator may insert spill code at the wrong insertion position.
Reviewed-by: kvn, never
src/share/vm/c1/c1_LinearScan.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/c1/c1_LinearScan.cpp Tue Feb 28 10:04:01 2012 -0800 1.2 +++ b/src/share/vm/c1/c1_LinearScan.cpp Tue Feb 28 09:13:58 2012 +0100 1.3 @@ -1884,7 +1884,7 @@ 1.4 1.5 if (move_resolver.has_mappings()) { 1.6 // insert moves after first instruction 1.7 - move_resolver.set_insert_position(block->lir(), 1); 1.8 + move_resolver.set_insert_position(block->lir(), 0); 1.9 move_resolver.resolve_and_append_moves(); 1.10 } 1.11 }