Skip to content

Commit f0ff63c

Browse files
committed
8229345: Memory leak due to vtable stubs not being shared on SPARC
Reviewed-by: mdoerr, dholmes, kvn
1 parent e81ee78 commit f0ff63c

File tree

9 files changed

+1
-18
lines changed

9 files changed

+1
-18
lines changed

src/hotspot/cpu/aarch64/globals_aarch64.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
// Sets the default values for platform dependent flags used by the runtime system.
3333
// (see globals.hpp)
3434

35-
define_pd_global(bool, ShareVtableStubs, true);
36-
3735
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks
3836
define_pd_global(bool, TrapBasedNullChecks, false);
3937
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs past to check cast

src/hotspot/cpu/arm/globals_arm.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
// (see globals.hpp)
3131
//
3232

33-
define_pd_global(bool, ShareVtableStubs, true);
34-
3533
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks
3634
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs past to check cast
3735
define_pd_global(bool, TrapBasedNullChecks, false); // Not needed

src/hotspot/cpu/ppc/globals_ppc.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
// Sets the default values for platform dependent flags used by the runtime system.
3333
// (see globals.hpp)
3434

35-
define_pd_global(bool, ShareVtableStubs, true);
36-
3735
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
3836
define_pd_global(bool, TrapBasedNullChecks, true);
3937
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.

src/hotspot/cpu/s390/globals_s390.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@
3333
// (see globals.hpp)
3434
// Sorted according to sparc.
3535

36-
// z/Architecture remembers branch targets, so don't share vtables.
37-
define_pd_global(bool, ShareVtableStubs, true);
38-
3936
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
4037
define_pd_global(bool, TrapBasedNullChecks, true);
4138
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.

src/hotspot/cpu/sparc/globals_sparc.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
// the load of the dispatch address and hence the jmp would still go to the location
3838
// according to the prior table. So, we let the thread continue and let it block by itself.
3939
define_pd_global(bool, DontYieldALot, true); // yield no more than 100 times per second
40-
define_pd_global(bool, ShareVtableStubs, false); // improves performance markedly for mtrt and compress
4140

4241
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks
4342
define_pd_global(bool, TrapBasedNullChecks, false); // Not needed on sparc.

src/hotspot/cpu/x86/globals_x86.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
// Sets the default values for platform dependent flags used by the runtime system.
3232
// (see globals.hpp)
3333

34-
define_pd_global(bool, ShareVtableStubs, true);
35-
3634
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks
3735
define_pd_global(bool, TrapBasedNullChecks, false); // Not needed on x86.
3836
define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast

src/hotspot/cpu/zero/globals_zero.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
// Set the default values for platform dependent flags used by the
3333
// runtime system. See globals.hpp for details of what they do.
3434

35-
define_pd_global(bool, ShareVtableStubs, true);
36-
3735
define_pd_global(bool, ImplicitNullChecks, true);
3836
define_pd_global(bool, TrapBasedNullChecks, false);
3937
define_pd_global(bool, UncommonNullCast, true);

src/hotspot/share/code/vtableStubs.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ address VtableStubs::find_stub(bool is_vtable_stub, int vtable_index) {
213213
VtableStub* s;
214214
{
215215
MutexLocker ml(VtableStubs_lock, Mutex::_no_safepoint_check_flag);
216-
s = ShareVtableStubs ? lookup(is_vtable_stub, vtable_index) : NULL;
216+
s = lookup(is_vtable_stub, vtable_index);
217217
if (s == NULL) {
218218
if (is_vtable_stub) {
219219
s = create_vtable_stub(vtable_index);

src/hotspot/share/runtime/globals.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -736,9 +736,6 @@ const size_t minimumSymbolTableSize = 1024;
736736
product(bool, ReduceSignalUsage, false, \
737737
"Reduce the use of OS signals in Java and/or the VM") \
738738
\
739-
develop_pd(bool, ShareVtableStubs, \
740-
"Share vtable stubs (smaller code but worse branch prediction") \
741-
\
742739
develop(bool, LoadLineNumberTables, true, \
743740
"Tell whether the class file parser loads line number tables") \
744741
\

0 commit comments

Comments
 (0)