8229345: Memory leak due to vtable stubs not being shared on SPARC

Fri, 16 Aug 2019 16:50:17 +0200

author
eosterlund
date
Fri, 16 Aug 2019 16:50:17 +0200
changeset 9834
bb1da64b0492
parent 9833
b00c93a7805c
child 9835
39b41ab3366c

8229345: Memory leak due to vtable stubs not being shared on SPARC
Reviewed-by: mdoerr, dholmes, kvn

src/cpu/ppc/vm/globals_ppc.hpp file | annotate | diff | comparison | revisions
src/cpu/sparc/vm/globals_sparc.hpp file | annotate | diff | comparison | revisions
src/cpu/x86/vm/globals_x86.hpp file | annotate | diff | comparison | revisions
src/cpu/zero/vm/globals_zero.hpp file | annotate | diff | comparison | revisions
src/share/vm/code/vtableStubs.cpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/globals.hpp file | annotate | diff | comparison | revisions
     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                                                                              \

mercurial