# HG changeset patch # User bulasevich # Date 1529376218 14400 # Node ID 3300874b963c6fdcb6b3b7b2d8919e118a04170d # Parent c9e7dc7976aebf70bbb0dc4ca4acae9e081f39b1 8203479: JFR enabled ARM32 build assertion failure Reviewed-by: dholmes diff -r c9e7dc7976ae -r 3300874b963c src/hotspot/cpu/arm/vm_version_arm_32.cpp --- a/src/hotspot/cpu/arm/vm_version_arm_32.cpp Mon Jun 18 20:50:23 2018 -0400 +++ b/src/hotspot/cpu/arm/vm_version_arm_32.cpp Mon Jun 18 22:43:38 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -104,6 +104,18 @@ extern "C" address check_vfp_fault_instr; extern "C" address check_simd_fault_instr; +void VM_Version::early_initialize() { + + // Make sure that _arm_arch is initialized so that any calls to OrderAccess will + // use proper dmb instruction + get_os_cpu_info(); + + _kuser_helper_version = *(int*)KUSER_HELPER_VERSION_ADDR; + // armv7 has the ldrexd instruction that can be used to implement cx8 + // armv5 with linux >= 3.1 can use kernel helper routine + _supports_cx8 = (supports_ldrexd() || supports_kuser_cmpxchg64()); +} + void VM_Version::initialize() { ResourceMark rm; @@ -216,10 +228,6 @@ FLAG_SET_DEFAULT(UseVectorizedMismatchIntrinsic, false); } - get_os_cpu_info(); - - _kuser_helper_version = *(int*)KUSER_HELPER_VERSION_ADDR; - #ifdef COMPILER2 // C2 is only supported on v7+ VFP at this time if (_arm_arch < 7 || !has_vfp()) { @@ -227,9 +235,6 @@ } #endif - // armv7 has the ldrexd instruction that can be used to implement cx8 - // armv5 with linux >= 3.1 can use kernel helper routine - _supports_cx8 = (supports_ldrexd() || supports_kuser_cmpxchg64()); // ARM doesn't have special instructions for these but ldrex/ldrexd // enable shorter instruction sequences that the ones based on cas. _supports_atomic_getset4 = supports_ldrex(); diff -r c9e7dc7976ae -r 3300874b963c src/hotspot/os_cpu/linux_arm/vm_version_linux_arm_32.cpp --- a/src/hotspot/os_cpu/linux_arm/vm_version_linux_arm_32.cpp Mon Jun 18 20:50:23 2018 -0400 +++ b/src/hotspot/os_cpu/linux_arm/vm_version_linux_arm_32.cpp Mon Jun 18 22:43:38 2018 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,8 +46,3 @@ } } -// Make sure that _arm_arch is initialized so that any calls to OrderAccess will -// use proper dmb instruction -void VM_Version::early_initialize() { - get_os_cpu_info(); -}