7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code

Reviewed-by: kvn, iveresov, jrose
This commit is contained in:
Tom Rodriguez 2011-05-25 16:04:09 -07:00
parent 65530c9100
commit f6d95d906a

View file

@ -139,9 +139,15 @@ IRT_ENTRY(void, InterpreterRuntime::resolve_ldc(JavaThread* thread, Bytecodes::C
ResourceMark rm(thread);
methodHandle m (thread, method(thread));
Bytecode_loadconstant ldc(m, bci(thread));
oop result = ldc.resolve_constant(THREAD);
DEBUG_ONLY(ConstantPoolCacheEntry* cpce = m->constants()->cache()->entry_at(ldc.cache_index()));
assert(result == cpce->f1(), "expected result for assembly code");
oop result = ldc.resolve_constant(CHECK);
#ifdef ASSERT
{
// The bytecode wrappers aren't GC-safe so construct a new one
Bytecode_loadconstant ldc2(m, bci(thread));
ConstantPoolCacheEntry* cpce = m->constants()->cache()->entry_at(ldc2.cache_index());
assert(result == cpce->f1(), "expected result for assembly code");
}
#endif
}
IRT_END