102 if (idxtype->_hi < sizetype->_lo && idxtype->_lo >= 0) { |
102 if (idxtype->_hi < sizetype->_lo && idxtype->_lo >= 0) { |
103 need_range_check = false; |
103 need_range_check = false; |
104 if (C->log() != NULL) C->log()->elem("observe that='!need_range_check'"); |
104 if (C->log() != NULL) C->log()->elem("observe that='!need_range_check'"); |
105 } |
105 } |
106 |
106 |
107 if (!arytype->klass()->is_loaded()) { |
107 ciKlass * arytype_klass = arytype->klass(); |
|
108 if ((arytype_klass != NULL) && (!arytype_klass->is_loaded())) { |
108 // Only fails for some -Xcomp runs |
109 // Only fails for some -Xcomp runs |
109 // The class is unloaded. We have to run this bytecode in the interpreter. |
110 // The class is unloaded. We have to run this bytecode in the interpreter. |
110 uncommon_trap(Deoptimization::Reason_unloaded, |
111 uncommon_trap(Deoptimization::Reason_unloaded, |
111 Deoptimization::Action_reinterpret, |
112 Deoptimization::Action_reinterpret, |
112 arytype->klass(), "!loaded array"); |
113 arytype->klass(), "!loaded array"); |