Fri, 16 Aug 2019 16:50:17 +0200
8229345: Memory leak due to vtable stubs not being shared on SPARC
Reviewed-by: mdoerr, dholmes, kvn
1.1 --- a/src/cpu/ppc/vm/globals_ppc.hpp Wed Feb 20 08:31:40 2019 -0500 1.2 +++ b/src/cpu/ppc/vm/globals_ppc.hpp Fri Aug 16 16:50:17 2019 +0200 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. 1.7 * Copyright 2012, 2018 SAP AG. All rights reserved. 1.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.9 * 1.10 @@ -33,10 +33,8 @@ 1.11 // (see globals.hpp) 1.12 1.13 define_pd_global(bool, ConvertSleepToYield, true); 1.14 -define_pd_global(bool, ShareVtableStubs, false); // Improves performance markedly for mtrt and compress. 1.15 define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this. 1.16 1.17 - 1.18 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks. 1.19 define_pd_global(bool, TrapBasedNullChecks, true); 1.20 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.
2.1 --- a/src/cpu/sparc/vm/globals_sparc.hpp Wed Feb 20 08:31:40 2019 -0500 2.2 +++ b/src/cpu/sparc/vm/globals_sparc.hpp Fri Aug 16 16:50:17 2019 +0200 2.3 @@ -1,5 +1,5 @@ 2.4 /* 2.5 - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 2.6 + * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 2.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 * 2.9 * This code is free software; you can redistribute it and/or modify it 2.10 @@ -38,7 +38,6 @@ 2.11 // according to the prior table. So, we let the thread continue and let it block by itself. 2.12 define_pd_global(bool, DontYieldALot, true); // yield no more than 100 times per second 2.13 define_pd_global(bool, ConvertSleepToYield, false); // do not convert sleep(0) to yield. Helps GUI 2.14 -define_pd_global(bool, ShareVtableStubs, false); // improves performance markedly for mtrt and compress 2.15 define_pd_global(bool, CountInterpCalls, false); // not implemented in the interpreter 2.16 define_pd_global(bool, NeedsDeoptSuspend, true); // register window machines need this 2.17
3.1 --- a/src/cpu/x86/vm/globals_x86.hpp Wed Feb 20 08:31:40 2019 -0500 3.2 +++ b/src/cpu/x86/vm/globals_x86.hpp Fri Aug 16 16:50:17 2019 +0200 3.3 @@ -1,5 +1,5 @@ 3.4 /* 3.5 - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 3.6 + * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 3.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.8 * 3.9 * This code is free software; you can redistribute it and/or modify it 3.10 @@ -32,7 +32,6 @@ 3.11 // (see globals.hpp) 3.12 3.13 define_pd_global(bool, ConvertSleepToYield, true); 3.14 -define_pd_global(bool, ShareVtableStubs, true); 3.15 define_pd_global(bool, CountInterpCalls, true); 3.16 define_pd_global(bool, NeedsDeoptSuspend, false); // only register window machines need this 3.17
4.1 --- a/src/cpu/zero/vm/globals_zero.hpp Wed Feb 20 08:31:40 2019 -0500 4.2 +++ b/src/cpu/zero/vm/globals_zero.hpp Fri Aug 16 16:50:17 2019 +0200 4.3 @@ -1,5 +1,5 @@ 4.4 /* 4.5 - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 4.6 + * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. 4.7 * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. 4.8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.9 * 4.10 @@ -33,7 +33,6 @@ 4.11 // runtime system. See globals.hpp for details of what they do. 4.12 4.13 define_pd_global(bool, ConvertSleepToYield, true); 4.14 -define_pd_global(bool, ShareVtableStubs, true); 4.15 define_pd_global(bool, CountInterpCalls, true); 4.16 define_pd_global(bool, NeedsDeoptSuspend, false); 4.17
5.1 --- a/src/share/vm/code/vtableStubs.cpp Wed Feb 20 08:31:40 2019 -0500 5.2 +++ b/src/share/vm/code/vtableStubs.cpp Fri Aug 16 16:50:17 2019 +0200 5.3 @@ -1,5 +1,5 @@ 5.4 /* 5.5 - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. 5.6 + * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. 5.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.8 * 5.9 * This code is free software; you can redistribute it and/or modify it 5.10 @@ -110,7 +110,7 @@ 5.11 address VtableStubs::find_stub(bool is_vtable_stub, int vtable_index) { 5.12 assert(vtable_index >= 0, "must be positive"); 5.13 5.14 - VtableStub* s = ShareVtableStubs ? lookup(is_vtable_stub, vtable_index) : NULL; 5.15 + VtableStub* s = lookup(is_vtable_stub, vtable_index); 5.16 if (s == NULL) { 5.17 if (is_vtable_stub) { 5.18 s = create_vtable_stub(vtable_index);
6.1 --- a/src/share/vm/runtime/globals.hpp Wed Feb 20 08:31:40 2019 -0500 6.2 +++ b/src/share/vm/runtime/globals.hpp Fri Aug 16 16:50:17 2019 +0200 6.3 @@ -1,5 +1,5 @@ 6.4 /* 6.5 - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. 6.6 + * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. 6.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.8 * 6.9 * This code is free software; you can redistribute it and/or modify it 6.10 @@ -1180,9 +1180,6 @@ 6.11 product(bool, ReduceSignalUsage, false, \ 6.12 "Reduce the use of OS signals in Java and/or the VM") \ 6.13 \ 6.14 - develop_pd(bool, ShareVtableStubs, \ 6.15 - "Share vtable stubs (smaller code but worse branch prediction") \ 6.16 - \ 6.17 develop(bool, LoadLineNumberTables, true, \ 6.18 "Tell whether the class file parser loads line number tables") \ 6.19 \