8265702: ZGC on macOS/aarch64

Reviewed-by: erikj, dholmes, stefank, gziemski
This commit is contained in:
Per Liden 2021-04-26 08:45:42 +00:00
parent 45c5da0fd3
commit 0d08d73537
3 changed files with 12 additions and 6 deletions

View File

@ -400,7 +400,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
fi
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$OPENJDK_TARGET_OS" = "xlinux" || \
test "x$OPENJDK_TARGET_OS" = "xwindows"; then
test "x$OPENJDK_TARGET_OS" = "xwindows" || \
test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])

View File

@ -127,7 +127,7 @@ static jlong initial_time_count=0;
static int clock_tics_per_sec = 100;
#ifdef __APPLE__
#if defined(__APPLE__) && defined(__x86_64__)
static const int processor_id_unassigned = -1;
static const int processor_id_assigning = -2;
static const int processor_id_map_size = 256;
@ -237,7 +237,7 @@ void os::Bsd::initialize_system_info() {
set_processor_count(1); // fallback
}
#ifdef __APPLE__
#if defined(__APPLE__) && defined(__x86_64__)
// initialize processor id map
for (int i = 0; i < processor_id_map_size; i++) {
processor_id_map[i] = processor_id_unassigned;
@ -2113,8 +2113,8 @@ int os::active_processor_count() {
return _processor_count;
}
#if defined(__APPLE__) && defined(__x86_64__)
uint os::processor_id() {
#if defined(__APPLE__) && defined(__x86_64__)
// Get the initial APIC id and return the associated processor id. The initial APIC
// id is limited to 8-bits, which means we can have at most 256 unique APIC ids. If
// the system has more processors (or the initial APIC ids are discontiguous) the
@ -2145,8 +2145,13 @@ uint os::processor_id() {
assert(processor_id >= 0 && processor_id < os::processor_count(), "invalid processor id");
return (uint)processor_id;
}
#else // defined(__APPLE__) && defined(__x86_64__)
// Return 0 until we find a good way to get the current processor id on
// the platform. Returning 0 is safe, since there is always at least one
// processor, but might not be optimal for performance in some cases.
return 0;
#endif
}
void os::set_native_thread_name(const char *name) {
#if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5

View File

@ -1377,7 +1377,7 @@ address OptoRuntime::handle_exception_C(JavaThread* current) {
// deoptimized frame
if (nm != NULL) {
RegisterMap map(current, false);
RegisterMap map(current, false /* update_map */, false /* process_frames */);
frame caller = current->last_frame().sender(&map);
#ifdef ASSERT
assert(caller.is_compiled_frame(), "must be");