diff src/share/vm/opto/regalloc.cpp @ 14460:8a9bb7821e28

Merge
author kvn
date Wed, 19 Feb 2014 12:08:49 -0800
parents abec000618bf
children 4ca6dc0799b6
line wrap: on
line diff
--- a/src/share/vm/opto/regalloc.cpp	Thu Feb 13 17:57:27 2014 +0100
+++ b/src/share/vm/opto/regalloc.cpp	Wed Feb 19 12:08:49 2014 -0800
@@ -77,7 +77,9 @@
   assert( reg <  _matcher._old_SP ||
           (reg >= OptoReg::add(_matcher._old_SP,C->out_preserve_stack_slots()) &&
            reg <  _matcher._in_arg_limit) ||
-          reg >=  OptoReg::add(_matcher._new_SP,C->out_preserve_stack_slots()),
+          reg >=  OptoReg::add(_matcher._new_SP, C->out_preserve_stack_slots()) ||
+          // Allow return_addr in the out-preserve area.
+          reg == _matcher.return_addr(),
           "register allocated in a preserve area" );
   return reg2offset_unchecked( reg );
 }