Mercurial > hg > truffle
diff src/share/vm/interpreter/bytecodeInterpreter.cpp @ 2256:173926398291
7018673: Zero: 6953144, 6990754 and 7009756 made some changes which broke Zero
Reviewed-by: kvn, chrisphi, twisti
author | twisti |
---|---|
date | Fri, 11 Feb 2011 03:17:53 -0800 |
parents | 8012aa3ccede |
children | 850b2295a494 |
line wrap: on
line diff
--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Feb 10 19:34:48 2011 -0800 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Feb 11 03:17:53 2011 -0800 @@ -1936,7 +1936,7 @@ 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 @@ 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 @@ 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!!