diff -r 7efacf6d4cc6 -r dd1aa4229fd4 src/hotspot/cpu/arm/c1_Runtime1_arm.cpp --- a/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp Mon Jul 23 10:02:10 2018 +0800 +++ b/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp Sun Jul 22 20:00:39 2018 -0700 @@ -546,9 +546,10 @@ const Register result = R0; const Register klass = R1; - if (UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) { - // We come here when TLAB allocation failed. - // In this case we try to allocate directly from eden. + // If TLAB is disabled, see if there is support for inlining contiguous + // allocations. + // Otherwise, just go to the slow path. + if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc() && id != new_instance_id) { Label slow_case, slow_case_no_pop; // Make sure the class is fully initialized @@ -616,9 +617,10 @@ const Register klass = R1; const Register length = R2; - if (UseTLAB && Universe::heap()->supports_inline_contig_alloc()) { - // We come here when TLAB allocation failed. - // In this case we try to allocate directly from eden. + // If TLAB is disabled, see if there is support for inlining contiguous + // allocations. + // Otherwise, just go to the slow path. + if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) { Label slow_case, slow_case_no_pop; #ifdef AARCH64