# HG changeset patch # User roland # Date 1324629383 -3600 # Node ID b642b49f97383373cddacd122c9169e16a44a6f4 # Parent e5ac210043cd98ecda775106b8e099ab77e95145 7123253: C1: in store check code, usage of registers may be incorrect Summary: fix usage of input register in assembly code for store check. Reviewed-by: never diff -r e5ac210043cd -r b642b49f9738 src/share/vm/c1/c1_LIR.cpp --- a/src/share/vm/c1/c1_LIR.cpp Thu Dec 22 10:55:53 2011 +0100 +++ b/src/share/vm/c1/c1_LIR.cpp Fri Dec 23 09:36:23 2011 +0100 @@ -854,6 +854,9 @@ if (opTypeCheck->_info_for_exception) do_info(opTypeCheck->_info_for_exception); if (opTypeCheck->_info_for_patch) do_info(opTypeCheck->_info_for_patch); if (opTypeCheck->_object->is_valid()) do_input(opTypeCheck->_object); + if (op->code() == lir_store_check && opTypeCheck->_object->is_valid()) { + do_temp(opTypeCheck->_object); + } if (opTypeCheck->_array->is_valid()) do_input(opTypeCheck->_array); if (opTypeCheck->_tmp1->is_valid()) do_temp(opTypeCheck->_tmp1); if (opTypeCheck->_tmp2->is_valid()) do_temp(opTypeCheck->_tmp2);