7123253: C1: in store check code, usage of registers may be incorrect

Fri, 23 Dec 2011 09:36:23 +0100

author
roland
date
Fri, 23 Dec 2011 09:36:23 +0100
changeset 3394
b642b49f9738
parent 3393
e5ac210043cd
child 3395
40c2484c09e1

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

src/share/vm/c1/c1_LIR.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/c1/c1_LIR.cpp	Thu Dec 22 10:55:53 2011 +0100
     1.2 +++ b/src/share/vm/c1/c1_LIR.cpp	Fri Dec 23 09:36:23 2011 +0100
     1.3 @@ -854,6 +854,9 @@
     1.4        if (opTypeCheck->_info_for_exception)       do_info(opTypeCheck->_info_for_exception);
     1.5        if (opTypeCheck->_info_for_patch)           do_info(opTypeCheck->_info_for_patch);
     1.6        if (opTypeCheck->_object->is_valid())       do_input(opTypeCheck->_object);
     1.7 +      if (op->code() == lir_store_check && opTypeCheck->_object->is_valid()) {
     1.8 +        do_temp(opTypeCheck->_object);
     1.9 +      }
    1.10        if (opTypeCheck->_array->is_valid())        do_input(opTypeCheck->_array);
    1.11        if (opTypeCheck->_tmp1->is_valid())         do_temp(opTypeCheck->_tmp1);
    1.12        if (opTypeCheck->_tmp2->is_valid())         do_temp(opTypeCheck->_tmp2);

mercurial