hotspot/src/share/vm/opto/graphKit.cpp
changeset 3797 3f6a7898f912
parent 3600 27aa4477d039
child 3801 073b203064b8
equal deleted inserted replaced
3796:7082ef16e6e2 3797:3f6a7898f912
   620   assert(kit->stopped(), "cutout code must stop, throw, return, etc.");
   620   assert(kit->stopped(), "cutout code must stop, throw, return, etc.");
   621 }
   621 }
   622 
   622 
   623 //---------------------------PreserveReexecuteState----------------------------
   623 //---------------------------PreserveReexecuteState----------------------------
   624 PreserveReexecuteState::PreserveReexecuteState(GraphKit* kit) {
   624 PreserveReexecuteState::PreserveReexecuteState(GraphKit* kit) {
       
   625   assert(!kit->stopped(), "must call stopped() before");
   625   _kit    =    kit;
   626   _kit    =    kit;
   626   _sp     =    kit->sp();
   627   _sp     =    kit->sp();
   627   _reexecute = kit->jvms()->_reexecute;
   628   _reexecute = kit->jvms()->_reexecute;
   628 }
   629 }
   629 PreserveReexecuteState::~PreserveReexecuteState() {
   630 PreserveReexecuteState::~PreserveReexecuteState() {
       
   631   if (_kit->stopped()) return;
   630   _kit->jvms()->_reexecute = _reexecute;
   632   _kit->jvms()->_reexecute = _reexecute;
   631   _kit->set_sp(_sp);
   633   _kit->set_sp(_sp);
   632 }
   634 }
   633 
   635 
   634 //------------------------------clone_map--------------------------------------
   636 //------------------------------clone_map--------------------------------------
  1121     case T_ARRAY  : // fall through
  1123     case T_ARRAY  : // fall through
  1122       type = T_OBJECT;  // simplify further tests
  1124       type = T_OBJECT;  // simplify further tests
  1123     case T_OBJECT : {
  1125     case T_OBJECT : {
  1124       const Type *t = _gvn.type( value );
  1126       const Type *t = _gvn.type( value );
  1125 
  1127 
  1126       const TypeInstPtr* tp = t->isa_instptr();
  1128       const TypeOopPtr* tp = t->isa_oopptr();
  1127       if (tp != NULL && !tp->klass()->is_loaded()
  1129       if (tp != NULL && !tp->klass()->is_loaded()
  1128           // Only for do_null_check, not any of its siblings:
  1130           // Only for do_null_check, not any of its siblings:
  1129           && !assert_null && null_control == NULL) {
  1131           && !assert_null && null_control == NULL) {
  1130         // Usually, any field access or invocation on an unloaded oop type
  1132         // Usually, any field access or invocation on an unloaded oop type
  1131         // will simply fail to link, since the statically linked class is
  1133         // will simply fail to link, since the statically linked class is