Mercurial > hg > truffle
comparison src/share/vm/c1/c1_LinearScan.cpp @ 5906:b279f99d7143
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
author | roland |
---|---|
date | Tue, 28 Feb 2012 09:13:58 +0100 |
parents | c7401dcad8bf |
children | 6759698e3140 |
comparison
equal
deleted
inserted
replaced
5905:2ee7dcc77c63 | 5906:b279f99d7143 |
---|---|
1882 resolve_exception_entry(block, phi->operand()->vreg_number(), move_resolver) | 1882 resolve_exception_entry(block, phi->operand()->vreg_number(), move_resolver) |
1883 ); | 1883 ); |
1884 | 1884 |
1885 if (move_resolver.has_mappings()) { | 1885 if (move_resolver.has_mappings()) { |
1886 // insert moves after first instruction | 1886 // insert moves after first instruction |
1887 move_resolver.set_insert_position(block->lir(), 1); | 1887 move_resolver.set_insert_position(block->lir(), 0); |
1888 move_resolver.resolve_and_append_moves(); | 1888 move_resolver.resolve_and_append_moves(); |
1889 } | 1889 } |
1890 } | 1890 } |
1891 | 1891 |
1892 | 1892 |