7018673: Zero: 6953144, 6990754 and 7009756 made some changes which broke Zero

Reviewed-by: kvn, chrisphi, twisti
This commit is contained in:
Christian Thalinger 2011-02-11 03:17:53 -08:00
parent c13062093b
commit 01cc76e02d
4 changed files with 23 additions and 7 deletions

View file

@ -1936,7 +1936,7 @@ run:
constantPoolOop constants = istate->method()->constants();
if (!constants->tag_at(index).is_unresolved_klass()) {
// Make sure klass is initialized and doesn't have a finalizer
oop entry = (klassOop) *constants->obj_at_addr(index);
oop entry = constants->slot_at(index).get_oop();
assert(entry->is_klass(), "Should be resolved klass");
klassOop k_entry = (klassOop) entry;
assert(k_entry->klass_part()->oop_is_instance(), "Should be instanceKlass");
@ -2026,7 +2026,7 @@ run:
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
}
klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index));
klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop();
klassOop objKlassOop = STACK_OBJECT(-1)->klass(); //ebx
//
// Check for compatibilty. This check must not GC!!
@ -2061,7 +2061,7 @@ run:
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
}
klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index));
klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop();
klassOop objKlassOop = STACK_OBJECT(-1)->klass();
//
// Check for compatibilty. This check must not GC!!