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