# HG changeset patch # User andrew # Date 1582168215 0 # Node ID fe4d09b50902041bab8fd811398c1f7233d3c1fe # Parent 29ef249e9953cc59d4c464ba92d67d5bd94a3e14# Parent 39b41ab3366cc41d34843a5919fe7885fac2f651 Merge diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/ppc/vm/globals_ppc.hpp --- 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. diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/sparc/vm/c1_FrameMap_sparc.cpp --- 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); } diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/sparc/vm/globals_sparc.hpp --- 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 diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/x86/vm/c1_FrameMap_x86.cpp --- 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); } diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp --- 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())); diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/x86/vm/globals_x86.hpp --- 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 diff -r 29ef249e9953 -r fe4d09b50902 src/cpu/zero/vm/globals_zero.hpp --- 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); diff -r 29ef249e9953 -r fe4d09b50902 src/share/vm/c1/c1_FrameMap.hpp --- 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); diff -r 29ef249e9953 -r fe4d09b50902 src/share/vm/code/vtableStubs.cpp --- 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); diff -r 29ef249e9953 -r fe4d09b50902 src/share/vm/runtime/globals.hpp --- 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") \ \ diff -r 29ef249e9953 -r fe4d09b50902 src/share/vm/runtime/safepoint.hpp --- 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 { +class ThreadSafepointState: public CHeapObj { public: // These states are maintained by VM thread while threads are being brought // to a safepoint. After SafepointSynchronize::end(), they are reset to