RFR (XS): 8188221 - AARCH64: Return type profiling is not performed from aarch64 interpreter

Dmitry Chuyko dmitry.chuyko at bell-sw.com
Tue Oct 10 15:13:31 UTC 2017


--- old/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp 
2017-10-02 09:10:20.917960334 +0000
+++ new/src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp 
2017-10-02 09:10:20.293932959 +0000
@@ -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()));


On 10/10/2017 05:54 PM, Dmitry Chuyko wrote:
> Hello,
>
> TestArrayCopyNoInitDeopt jtreg test (JDK-8072016) fails in 
> -XX:-TieredCompilation mode because return type is not profiled in 
> interpreter.
> Please review the fix, it adds profiling for aarch64 similar to how 
> it's implemented for other cpus.
>
> bug: https://bugs.openjdk.java.net/browse/JDK-8188221
> patch: jdk10.patch attached
>
> -Dmitry



More information about the hotspot-compiler-dev mailing list