src/share/vm/c1/c1_LinearScan.cpp

Print this page
rev 3153 : 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:

@@ -1882,11 +1882,11 @@
     resolve_exception_entry(block, phi->operand()->vreg_number(), move_resolver)
   );
 
   if (move_resolver.has_mappings()) {
     // insert moves after first instruction
-    move_resolver.set_insert_position(block->lir(), 1);
+    move_resolver.set_insert_position(block->lir(), 0);
     move_resolver.resolve_and_append_moves();
   }
 }