src/share/vm/interpreter/bytecodeInterpreter.cpp

changeset 4142
d8ce2825b193
parent 4037
da91efe96a93
child 4237
a3e2f723f2a5
equal deleted inserted replaced
4122:1b582b1bf7cb 4142:d8ce2825b193
1624 ARRAY_INTRO( -3); 1624 ARRAY_INTRO( -3);
1625 // arrObj, index are set 1625 // arrObj, index are set
1626 if (rhsObject != NULL) { 1626 if (rhsObject != NULL) {
1627 /* Check assignability of rhsObject into arrObj */ 1627 /* Check assignability of rhsObject into arrObj */
1628 Klass* rhsKlassOop = rhsObject->klass(); // EBX (subclass) 1628 Klass* rhsKlassOop = rhsObject->klass(); // EBX (subclass)
1629 Klass* elemKlassOop = objArrayKlass::cast(arrObj->klass())->element_klass(); // superklass EAX 1629 Klass* elemKlassOop = ObjArrayKlass::cast(arrObj->klass())->element_klass(); // superklass EAX
1630 // 1630 //
1631 // Check for compatibilty. This check must not GC!! 1631 // Check for compatibilty. This check must not GC!!
1632 // Seems way more expensive now that we must dispatch 1632 // Seems way more expensive now that we must dispatch
1633 // 1633 //
1634 if (rhsKlassOop != elemKlassOop && !rhsKlassOop->is_subtype_of(elemKlassOop)) { // ebx->is... 1634 if (rhsKlassOop != elemKlassOop && !rhsKlassOop->is_subtype_of(elemKlassOop)) { // ebx->is...

mercurial