8188221: Return type profiling is not performed from aarch64 interpreter

Reviewed-by: drwhite
This commit is contained in:
Dmitry Chuyko 2017-11-29 14:34:19 +03:00
parent b25c9ddbae
commit c5df44a4ce

View File

@ -414,6 +414,14 @@ address TemplateInterpreterGenerator::generate_return_entry_for(TosState state,
__ restore_constant_pool_cache();
__ get_method(rmethod);
if (state == atos) {
Register obj = r0;
Register mdp = r1;
Register tmp = r2;
__ ldr(mdp, Address(rmethod, Method::method_data_offset()));
__ profile_return_type(mdp, obj, tmp);
}
// Pop N words from the stack
__ get_cache_and_index_at_bcp(r1, r2, 1, index_size);
__ ldr(r1, Address(r1, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()));