8188221: Return type profiling is not performed from aarch64 interpreter
authordchuyko
Wed, 29 Nov 2017 14:34:19 +0300
changeset 48151 461e9c898e80
parent 48150 bc1cffa26561
child 48152 bef902d8fef1
8188221: Return type profiling is not performed from aarch64 interpreter Reviewed-by: drwhite
src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp
--- a/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp	Wed Nov 29 09:26:58 2017 +0900
+++ b/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp	Wed Nov 29 14:34:19 2017 +0300
@@ -414,6 +414,14 @@
   __ 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()));