8188773: PPC64 and s390: Fix UseMembar and enable ShareVtableStubs
Reviewed-by: goetz
This commit is contained in:
parent
bdb303aa42
commit
f651176392
src/hotspot
cpu
os_cpu/linux_s390
@ -32,7 +32,7 @@
|
||||
// Sets the default values for platform dependent flags used by the runtime system.
|
||||
// (see globals.hpp)
|
||||
|
||||
define_pd_global(bool, ShareVtableStubs, false); // Improves performance markedly for mtrt and compress.
|
||||
define_pd_global(bool, ShareVtableStubs, true);
|
||||
define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this.
|
||||
|
||||
|
||||
|
@ -2238,9 +2238,6 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
|
||||
__ release();
|
||||
// TODO: PPC port assert(4 == JavaThread::sz_thread_state(), "unexpected field size");
|
||||
__ stw(R0, thread_(thread_state));
|
||||
if (UseMembar) {
|
||||
__ fence();
|
||||
}
|
||||
|
||||
|
||||
// The JNI call
|
||||
@ -2397,9 +2394,6 @@ nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
|
||||
__ release();
|
||||
// TODO: PPC port assert(4 == JavaThread::sz_thread_state(), "unexpected field size");
|
||||
__ stw(R0, thread_(thread_state));
|
||||
if (UseMembar) {
|
||||
__ fence();
|
||||
}
|
||||
__ bind(after_transition);
|
||||
|
||||
// Reguard any pages if necessary.
|
||||
|
@ -1470,10 +1470,6 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
|
||||
// TODO PPC port assert(4 == JavaThread::sz_thread_state(), "unexpected field size");
|
||||
__ stw(R0, thread_(thread_state));
|
||||
|
||||
if (UseMembar) {
|
||||
__ fence();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// Call the native method. Argument registers must not have been
|
||||
// overwritten since "__ call_stub(signature_handler);" (except for
|
||||
@ -1594,9 +1590,6 @@ address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
|
||||
__ li(R0/*thread_state*/, _thread_in_Java);
|
||||
__ release();
|
||||
__ stw(R0/*thread_state*/, thread_(thread_state));
|
||||
if (UseMembar) {
|
||||
__ fence();
|
||||
}
|
||||
|
||||
if (CheckJNICalls) {
|
||||
// clear_pending_jni_exception_check
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||
* Copyright (c) 2016, 2017 Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2017 SAP SE. 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
|
||||
@ -34,7 +34,7 @@
|
||||
// Sorted according to sparc.
|
||||
|
||||
// z/Architecture remembers branch targets, so don't share vtables.
|
||||
define_pd_global(bool, ShareVtableStubs, false);
|
||||
define_pd_global(bool, ShareVtableStubs, true);
|
||||
define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this.
|
||||
|
||||
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||
* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2017 SAP SE. 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
|
||||
@ -471,7 +471,7 @@ JVM_handle_linux_signal(int sig,
|
||||
// Info->si_addr need not be the exact address, it is only
|
||||
// guaranteed to be on the same page as the address that caused
|
||||
// the SIGSEGV.
|
||||
if ((sig == SIGSEGV) &&
|
||||
if ((sig == SIGSEGV) && !UseMembar &&
|
||||
(os::get_memory_serialize_page() ==
|
||||
(address)((uintptr_t)info->si_addr & ~(os::vm_page_size()-1)))) {
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user