changeset 9125:fe4d09b50902

Merge
author andrew
date Thu, 20 Feb 2020 03:10:15 +0000
parents 29ef249e9953 (current diff) 39b41ab3366c (diff)
children e517ff39c40d
files
diffstat 11 files changed, 18 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/ppc/vm/globals_ppc.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/ppc/vm/globals_ppc.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2012, 2018 SAP AG. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -33,10 +33,8 @@
 // (see globals.hpp)
 
 define_pd_global(bool, ConvertSleepToYield,   true);
-define_pd_global(bool, ShareVtableStubs,      false); // Improves performance markedly for mtrt and compress.
 define_pd_global(bool, NeedsDeoptSuspend,     false); // Only register window machines need this.
 
-
 define_pd_global(bool, ImplicitNullChecks,    true);  // Generate code for implicit null checks.
 define_pd_global(bool, TrapBasedNullChecks,   true);
 define_pd_global(bool, UncommonNullCast,      true);  // Uncommon-trap NULLs passed to check cast.
--- a/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/sparc/vm/c1_FrameMap_sparc.cpp	Thu Feb 20 03:10:15 2020 +0000
@@ -55,6 +55,8 @@
       opr = as_oop_opr(reg);
     } else if (type == T_METADATA) {
       opr = as_metadata_opr(reg);
+    } else if (type == T_ADDRESS) {
+      opr = as_address_opr(reg);
     } else {
       opr = as_opr(reg);
     }
--- a/src/cpu/sparc/vm/globals_sparc.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/sparc/vm/globals_sparc.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -38,7 +38,6 @@
 // according to the prior table. So, we let the thread continue and let it block by itself.
 define_pd_global(bool, DontYieldALot,               true);  // yield no more than 100 times per second
 define_pd_global(bool, ConvertSleepToYield,         false); // do not convert sleep(0) to yield. Helps GUI
-define_pd_global(bool, ShareVtableStubs,            false); // improves performance markedly for mtrt and compress
 define_pd_global(bool, CountInterpCalls,            false); // not implemented in the interpreter
 define_pd_global(bool, NeedsDeoptSuspend,           true); // register window machines need this
 
--- a/src/cpu/x86/vm/c1_FrameMap_x86.cpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/x86/vm/c1_FrameMap_x86.cpp	Thu Feb 20 03:10:15 2020 +0000
@@ -54,6 +54,8 @@
       opr = as_oop_opr(reg);
     } else if (type == T_METADATA) {
       opr = as_metadata_opr(reg);
+    } else if (type == T_ADDRESS) {
+      opr = as_address_opr(reg);
     } else {
       opr = as_opr(reg);
     }
--- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Thu Feb 20 03:10:15 2020 +0000
@@ -964,7 +964,7 @@
     if (type == T_OBJECT || type == T_ARRAY) {
       __ verify_oop(src->as_register());
       __ movptr (dst, src->as_register());
-    } else if (type == T_METADATA) {
+    } else if (type == T_METADATA || type == T_ADDRESS) {
       __ movptr (dst, src->as_register());
     } else {
       __ movl (dst, src->as_register());
@@ -1145,7 +1145,7 @@
     if (type == T_ARRAY || type == T_OBJECT) {
       __ movptr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
       __ verify_oop(dest->as_register());
-    } else if (type == T_METADATA) {
+    } else if (type == T_METADATA || type == T_ADDRESS) {
       __ movptr(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
     } else {
       __ movl(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix()));
--- a/src/cpu/x86/vm/globals_x86.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/x86/vm/globals_x86.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. 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
@@ -32,7 +32,6 @@
 // (see globals.hpp)
 
 define_pd_global(bool, ConvertSleepToYield,      true);
-define_pd_global(bool, ShareVtableStubs,         true);
 define_pd_global(bool, CountInterpCalls,         true);
 define_pd_global(bool, NeedsDeoptSuspend,        false); // only register window machines need this
 
--- a/src/cpu/zero/vm/globals_zero.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/cpu/zero/vm/globals_zero.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -33,7 +33,6 @@
 // runtime system.  See globals.hpp for details of what they do.
 
 define_pd_global(bool,  ConvertSleepToYield,  true);
-define_pd_global(bool,  ShareVtableStubs,     true);
 define_pd_global(bool,  CountInterpCalls,     true);
 define_pd_global(bool,  NeedsDeoptSuspend,    false);
 
--- a/src/share/vm/c1/c1_FrameMap.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/share/vm/c1/c1_FrameMap.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -198,6 +198,10 @@
     return LIR_OprFact::single_cpu_metadata(cpu_reg2rnr(r));
   }
 
+  static LIR_Opr as_address_opr(Register r) {
+    return LIR_OprFact::single_cpu_address(cpu_reg2rnr(r));
+  }
+
   FrameMap(ciMethod* method, int monitors, int reserved_argument_area_size);
   bool finalize_frame(int nof_slots);
 
--- a/src/share/vm/code/vtableStubs.cpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/share/vm/code/vtableStubs.cpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -110,7 +110,7 @@
 address VtableStubs::find_stub(bool is_vtable_stub, int vtable_index) {
   assert(vtable_index >= 0, "must be positive");
 
-  VtableStub* s = ShareVtableStubs ? lookup(is_vtable_stub, vtable_index) : NULL;
+  VtableStub* s = lookup(is_vtable_stub, vtable_index);
   if (s == NULL) {
     if (is_vtable_stub) {
       s = create_vtable_stub(vtable_index);
--- a/src/share/vm/runtime/globals.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/share/vm/runtime/globals.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. 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
@@ -1180,9 +1180,6 @@
   product(bool, ReduceSignalUsage, false,                                   \
           "Reduce the use of OS signals in Java and/or the VM")             \
                                                                             \
-  develop_pd(bool, ShareVtableStubs,                                        \
-          "Share vtable stubs (smaller code but worse branch prediction")   \
-                                                                            \
   develop(bool, LoadLineNumberTables, true,                                 \
           "Tell whether the class file parser loads line number tables")    \
                                                                             \
--- a/src/share/vm/runtime/safepoint.hpp	Mon Feb 17 09:41:42 2020 +0000
+++ b/src/share/vm/runtime/safepoint.hpp	Thu Feb 20 03:10:15 2020 +0000
@@ -190,7 +190,7 @@
 };
 
 // State class for a thread suspended at a safepoint
-class ThreadSafepointState: public CHeapObj<mtInternal> {
+class ThreadSafepointState: public CHeapObj<mtThread> {
  public:
   // These states are maintained by VM thread while threads are being brought
   // to a safepoint.  After SafepointSynchronize::end(), they are reset to