mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 09:34:38 +02:00
8236625: Remove writeable macro from JVM flags declaration
Reviewed-by: coleenp, hseigel, gziemski
This commit is contained in:
parent
7d8519fffe
commit
584db9818a
35 changed files with 122 additions and 549 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -81,8 +81,7 @@ define_pd_global(intx, InlineSmallCode, 1000);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, NearCpool, true, \
|
product(bool, NearCpool, true, \
|
||||||
"constant pool is close to instructions") \
|
"constant pool is close to instructions") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -76,6 +76,5 @@ define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)
|
||||||
writeable)
|
|
||||||
#endif // CPU_ARM_GLOBALS_ARM_HPP
|
#endif // CPU_ARM_GLOBALS_ARM_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -81,8 +81,7 @@ define_pd_global(intx, InitArrayShortSize, 9*BytesPerLong);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(uintx, PowerArchitecturePPC64, 0, \
|
product(uintx, PowerArchitecturePPC64, 0, \
|
||||||
"CPU Version: x for PowerX. Currently recognizes Power5 to " \
|
"CPU Version: x for PowerX. Currently recognizes Power5 to " \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
|
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -82,8 +82,7 @@ define_pd_global(intx, InitArrayShortSize, 1*BytesPerLong);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
/* Reoptimize code-sequences of calls at runtime, e.g. replace an */ \
|
/* Reoptimize code-sequences of calls at runtime, e.g. replace an */ \
|
||||||
/* indirect call by a direct call. */ \
|
/* indirect call by a direct call. */ \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -86,8 +86,7 @@ define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(intx, UseVIS, 99, \
|
product(intx, UseVIS, 99, \
|
||||||
"Highest supported VIS instructions set on SPARC") \
|
"Highest supported VIS instructions set on SPARC") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -95,8 +95,7 @@ define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
develop(bool, IEEEPrecision, true, \
|
develop(bool, IEEEPrecision, true, \
|
||||||
"Enables IEEE precision (for INTEL only)") \
|
"Enables IEEE precision (for INTEL only)") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
* Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -79,8 +79,7 @@ define_pd_global(bool, CompactStrings, false);
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, UseFastEmptyMethods, true, \
|
product(bool, UseFastEmptyMethods, true, \
|
||||||
"Use fast method entry code for empty methods") \
|
"Use fast method entry code for empty methods") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -38,8 +38,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
/* Whether to allow the VM to run if EXTSHM=ON. EXTSHM is an environment */ \
|
/* Whether to allow the VM to run if EXTSHM=ON. EXTSHM is an environment */ \
|
||||||
/* variable used on AIX to activate certain hacks which allow more shm segments */\
|
/* variable used on AIX to activate certain hacks which allow more shm segments */\
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +36,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, UseOprofile, false, \
|
product(bool, UseOprofile, false, \
|
||||||
"enable support for Oprofile profiler") \
|
"enable support for Oprofile profiler") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +36,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, UseOprofile, false, \
|
product(bool, UseOprofile, false, \
|
||||||
"enable support for Oprofile profiler") \
|
"enable support for Oprofile profiler") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +36,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, UseExtendedFileIO, true, \
|
product(bool, UseExtendedFileIO, true, \
|
||||||
"Enable workaround for limitations of stdio FILE structure")
|
"Enable workaround for limitations of stdio FILE structure")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +36,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)
|
||||||
writeable)
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -42,8 +42,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
/* Printing */ \
|
/* Printing */ \
|
||||||
notproduct(bool, PrintC1Statistics, false, \
|
notproduct(bool, PrintC1Statistics, false, \
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
|
* Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -43,8 +44,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
experimental(size_t, EpsilonPrintHeapSteps, 20, \
|
experimental(size_t, EpsilonPrintHeapSteps, 20, \
|
||||||
"Print heap occupancy stats with this number of steps. " \
|
"Print heap occupancy stats with this number of steps. " \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -43,8 +43,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
product(bool, G1UseAdaptiveIHOP, true, \
|
product(bool, G1UseAdaptiveIHOP, true, \
|
||||||
"Adaptively adjust the initiating heap occupancy from the " \
|
"Adaptively adjust the initiating heap occupancy from the " \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -37,8 +37,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
product(uintx, HeapMaximumCompactionInterval, 20, \
|
product(uintx, HeapMaximumCompactionInterval, 20, \
|
||||||
"How often should we maximally compact the heap (not allowing " \
|
"How often should we maximally compact the heap (not allowing " \
|
||||||
"any dead space)") \
|
"any dead space)") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -37,7 +37,6 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)
|
||||||
writeable)
|
|
||||||
|
|
||||||
#endif // SHARE_GC_SERIAL_SERIAL_GLOBALS_HPP
|
#endif // SHARE_GC_SERIAL_SERIAL_GLOBALS_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -58,8 +58,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
EPSILONGC_ONLY(GC_EPSILON_FLAGS( \
|
EPSILONGC_ONLY(GC_EPSILON_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -74,8 +73,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
G1GC_ONLY(GC_G1_FLAGS( \
|
G1GC_ONLY(GC_G1_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -90,8 +88,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
PARALLELGC_ONLY(GC_PARALLEL_FLAGS( \
|
PARALLELGC_ONLY(GC_PARALLEL_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -106,8 +103,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
SERIALGC_ONLY(GC_SERIAL_FLAGS( \
|
SERIALGC_ONLY(GC_SERIAL_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -122,8 +118,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
SHENANDOAHGC_ONLY(GC_SHENANDOAH_FLAGS( \
|
SHENANDOAHGC_ONLY(GC_SHENANDOAH_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -138,8 +133,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
ZGC_ONLY(GC_Z_FLAGS( \
|
ZGC_ONLY(GC_Z_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -154,8 +148,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
/* gc */ \
|
/* gc */ \
|
||||||
\
|
\
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
/*
|
/*
|
||||||
|
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
|
* Copyright (c) 2016, 2019, Red Hat, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +37,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
experimental(size_t, ShenandoahHeapRegionSize, 0, \
|
experimental(size_t, ShenandoahHeapRegionSize, 0, \
|
||||||
"Size of the Shenandoah regions. Set to zero to detect " \
|
"Size of the Shenandoah regions. Set to zero to detect " \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -36,8 +36,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
experimental(ccstr, ZPath, NULL, \
|
experimental(ccstr, ZPath, NULL, \
|
||||||
"Filesystem path for Java heap backing storage " \
|
"Filesystem path for Java heap backing storage " \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -37,7 +37,7 @@ bool JVMCIGlobals::check_jvmci_flags_are_consistent() {
|
||||||
|
|
||||||
#ifndef PRODUCT
|
#ifndef PRODUCT
|
||||||
#define APPLY_JVMCI_FLAGS(params3, params4) \
|
#define APPLY_JVMCI_FLAGS(params3, params4) \
|
||||||
JVMCI_FLAGS(params4, params3, params4, params3, params4, params3, params4, params4, IGNORE_RANGE, IGNORE_CONSTRAINT, IGNORE_WRITEABLE)
|
JVMCI_FLAGS(params4, params3, params4, params3, params4, params3, params4, params4, IGNORE_RANGE, IGNORE_CONSTRAINT)
|
||||||
#define JVMCI_DECLARE_CHECK4(type, name, value, doc) bool name##checked = false;
|
#define JVMCI_DECLARE_CHECK4(type, name, value, doc) bool name##checked = false;
|
||||||
#define JVMCI_DECLARE_CHECK3(type, name, doc) bool name##checked = false;
|
#define JVMCI_DECLARE_CHECK3(type, name, doc) bool name##checked = false;
|
||||||
#define JVMCI_FLAG_CHECKED(name) name##checked = true;
|
#define JVMCI_FLAG_CHECKED(name) name##checked = true;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -42,8 +42,7 @@ class fileStream;
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
experimental(bool, EnableJVMCI, false, \
|
experimental(bool, EnableJVMCI, false, \
|
||||||
"Enable JVMCI") \
|
"Enable JVMCI") \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -44,8 +44,7 @@
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
diagnostic(bool, StressLCM, false, \
|
diagnostic(bool, StressLCM, false, \
|
||||||
"Randomize instruction scheduling in LCM") \
|
"Randomize instruction scheduling in LCM") \
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/flags/jvmFlag.hpp"
|
#include "runtime/flags/jvmFlag.hpp"
|
||||||
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
||||||
#include "runtime/flags/jvmFlagWriteableList.hpp"
|
|
||||||
#include "runtime/flags/jvmFlagRangeList.hpp"
|
#include "runtime/flags/jvmFlagRangeList.hpp"
|
||||||
#include "runtime/globals_extension.hpp"
|
#include "runtime/globals_extension.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
|
@ -3816,10 +3815,9 @@ bool Arguments::handle_deprecated_print_gc_flags() {
|
||||||
jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
|
jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
|
||||||
assert(verify_special_jvm_flags(), "deprecated and obsolete flag table inconsistent");
|
assert(verify_special_jvm_flags(), "deprecated and obsolete flag table inconsistent");
|
||||||
|
|
||||||
// Initialize ranges, constraints and writeables
|
// Initialize ranges and constraints
|
||||||
JVMFlagRangeList::init();
|
JVMFlagRangeList::init();
|
||||||
JVMFlagConstraintList::init();
|
JVMFlagConstraintList::init();
|
||||||
JVMFlagWriteableList::init();
|
|
||||||
|
|
||||||
// If flag "-XX:Flags=flags-file" is used it will be the first option to be processed.
|
// If flag "-XX:Flags=flags-file" is used it will be the first option to be processed.
|
||||||
const char* hotspotrc = ".hotspotrc";
|
const char* hotspotrc = ".hotspotrc";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -28,7 +28,6 @@
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/flags/jvmFlag.hpp"
|
#include "runtime/flags/jvmFlag.hpp"
|
||||||
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
||||||
#include "runtime/flags/jvmFlagWriteableList.hpp"
|
|
||||||
#include "runtime/flags/jvmFlagRangeList.hpp"
|
#include "runtime/flags/jvmFlagRangeList.hpp"
|
||||||
#include "runtime/globals_extension.hpp"
|
#include "runtime/globals_extension.hpp"
|
||||||
#include "utilities/defaultStream.hpp"
|
#include "utilities/defaultStream.hpp"
|
||||||
|
@ -92,165 +91,38 @@ static bool is_product_build() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::check_writable(bool changed) {
|
|
||||||
if (is_constant_in_binary()) {
|
|
||||||
fatal("flag is constant: %s", _name);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error error = JVMFlag::SUCCESS;
|
|
||||||
if (changed) {
|
|
||||||
JVMFlagWriteable* writeable = JVMFlagWriteableList::find(_name);
|
|
||||||
if (writeable) {
|
|
||||||
if (writeable->is_writeable() == false) {
|
|
||||||
switch (writeable->type())
|
|
||||||
{
|
|
||||||
case JVMFlagWriteable::Once:
|
|
||||||
error = JVMFlag::SET_ONLY_ONCE;
|
|
||||||
jio_fprintf(defaultStream::error_stream(), "Error: %s may not be set more than once\n", _name);
|
|
||||||
break;
|
|
||||||
case JVMFlagWriteable::CommandLineOnly:
|
|
||||||
error = JVMFlag::COMMAND_LINE_ONLY;
|
|
||||||
jio_fprintf(defaultStream::error_stream(), "Error: %s may be modified only from commad line\n", _name);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
ShouldNotReachHere();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
writeable->mark_once();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_bool() const {
|
bool JVMFlag::is_bool() const {
|
||||||
return strcmp(_type, "bool") == 0;
|
return strcmp(_type, "bool") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JVMFlag::get_bool() const {
|
|
||||||
return *((bool*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_bool(bool value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_bool());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((bool*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_int() const {
|
bool JVMFlag::is_int() const {
|
||||||
return strcmp(_type, "int") == 0;
|
return strcmp(_type, "int") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int JVMFlag::get_int() const {
|
|
||||||
return *((int*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_int(int value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_int());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((int*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_uint() const {
|
bool JVMFlag::is_uint() const {
|
||||||
return strcmp(_type, "uint") == 0;
|
return strcmp(_type, "uint") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint JVMFlag::get_uint() const {
|
|
||||||
return *((uint*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_uint(uint value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_uint());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((uint*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_intx() const {
|
bool JVMFlag::is_intx() const {
|
||||||
return strcmp(_type, "intx") == 0;
|
return strcmp(_type, "intx") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
intx JVMFlag::get_intx() const {
|
|
||||||
return *((intx*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_intx(intx value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_intx());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((intx*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_uintx() const {
|
bool JVMFlag::is_uintx() const {
|
||||||
return strcmp(_type, "uintx") == 0;
|
return strcmp(_type, "uintx") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uintx JVMFlag::get_uintx() const {
|
|
||||||
return *((uintx*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_uintx(uintx value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_uintx());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((uintx*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_uint64_t() const {
|
bool JVMFlag::is_uint64_t() const {
|
||||||
return strcmp(_type, "uint64_t") == 0;
|
return strcmp(_type, "uint64_t") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t JVMFlag::get_uint64_t() const {
|
|
||||||
return *((uint64_t*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_uint64_t(uint64_t value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_uint64_t());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((uint64_t*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_size_t() const {
|
bool JVMFlag::is_size_t() const {
|
||||||
return strcmp(_type, "size_t") == 0;
|
return strcmp(_type, "size_t") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t JVMFlag::get_size_t() const {
|
|
||||||
return *((size_t*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_size_t(size_t value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_size_t());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((size_t*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_double() const {
|
bool JVMFlag::is_double() const {
|
||||||
return strcmp(_type, "double") == 0;
|
return strcmp(_type, "double") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double JVMFlag::get_double() const {
|
|
||||||
return *((double*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_double(double value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_double());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((double*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JVMFlag::is_ccstr() const {
|
bool JVMFlag::is_ccstr() const {
|
||||||
return strcmp(_type, "ccstr") == 0 || strcmp(_type, "ccstrlist") == 0;
|
return strcmp(_type, "ccstr") == 0 || strcmp(_type, "ccstrlist") == 0;
|
||||||
}
|
}
|
||||||
|
@ -259,19 +131,6 @@ bool JVMFlag::ccstr_accumulates() const {
|
||||||
return strcmp(_type, "ccstrlist") == 0;
|
return strcmp(_type, "ccstrlist") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ccstr JVMFlag::get_ccstr() const {
|
|
||||||
return *((ccstr*) _addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlag::Error JVMFlag::set_ccstr(ccstr value) {
|
|
||||||
JVMFlag::Error error = check_writable(value!=get_ccstr());
|
|
||||||
if (error == JVMFlag::SUCCESS) {
|
|
||||||
*((ccstr*) _addr) = value;
|
|
||||||
}
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
JVMFlag::Flags JVMFlag::get_origin() {
|
JVMFlag::Flags JVMFlag::get_origin() {
|
||||||
return Flags(_flags & VALUE_ORIGIN_MASK);
|
return Flags(_flags & VALUE_ORIGIN_MASK);
|
||||||
}
|
}
|
||||||
|
@ -835,8 +694,7 @@ static JVMFlag flagTable[] = {
|
||||||
RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
|
RUNTIME_PRODUCT_RW_FLAG_STRUCT, \
|
||||||
RUNTIME_LP64_PRODUCT_FLAG_STRUCT, \
|
RUNTIME_LP64_PRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
||||||
RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
|
RUNTIME_OS_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, \
|
||||||
RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
|
RUNTIME_PD_DEVELOP_FLAG_STRUCT, \
|
||||||
|
@ -846,8 +704,7 @@ static JVMFlag flagTable[] = {
|
||||||
RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT, \
|
RUNTIME_PD_DIAGNOSTIC_FLAG_STRUCT, \
|
||||||
RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
|
RUNTIME_NOTPRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
#if INCLUDE_JVMCI
|
#if INCLUDE_JVMCI
|
||||||
JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_STRUCT, \
|
JVMCI_FLAGS(JVMCI_DEVELOP_FLAG_STRUCT, \
|
||||||
JVMCI_PD_DEVELOP_FLAG_STRUCT, \
|
JVMCI_PD_DEVELOP_FLAG_STRUCT, \
|
||||||
|
@ -858,8 +715,7 @@ static JVMFlag flagTable[] = {
|
||||||
JVMCI_EXPERIMENTAL_FLAG_STRUCT, \
|
JVMCI_EXPERIMENTAL_FLAG_STRUCT, \
|
||||||
JVMCI_NOTPRODUCT_FLAG_STRUCT, \
|
JVMCI_NOTPRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
#endif // INCLUDE_JVMCI
|
#endif // INCLUDE_JVMCI
|
||||||
#ifdef COMPILER1
|
#ifdef COMPILER1
|
||||||
C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
|
C1_FLAGS(C1_DEVELOP_FLAG_STRUCT, \
|
||||||
|
@ -870,8 +726,7 @@ static JVMFlag flagTable[] = {
|
||||||
C1_PD_DIAGNOSTIC_FLAG_STRUCT, \
|
C1_PD_DIAGNOSTIC_FLAG_STRUCT, \
|
||||||
C1_NOTPRODUCT_FLAG_STRUCT, \
|
C1_NOTPRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
#endif // COMPILER1
|
#endif // COMPILER1
|
||||||
#ifdef COMPILER2
|
#ifdef COMPILER2
|
||||||
C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
|
C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, \
|
||||||
|
@ -883,8 +738,7 @@ static JVMFlag flagTable[] = {
|
||||||
C2_EXPERIMENTAL_FLAG_STRUCT, \
|
C2_EXPERIMENTAL_FLAG_STRUCT, \
|
||||||
C2_NOTPRODUCT_FLAG_STRUCT, \
|
C2_NOTPRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
#endif // COMPILER2
|
#endif // COMPILER2
|
||||||
ARCH_FLAGS(ARCH_DEVELOP_FLAG_STRUCT, \
|
ARCH_FLAGS(ARCH_DEVELOP_FLAG_STRUCT, \
|
||||||
ARCH_PRODUCT_FLAG_STRUCT, \
|
ARCH_PRODUCT_FLAG_STRUCT, \
|
||||||
|
@ -892,8 +746,7 @@ static JVMFlag flagTable[] = {
|
||||||
ARCH_EXPERIMENTAL_FLAG_STRUCT, \
|
ARCH_EXPERIMENTAL_FLAG_STRUCT, \
|
||||||
ARCH_NOTPRODUCT_FLAG_STRUCT, \
|
ARCH_NOTPRODUCT_FLAG_STRUCT, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
{0, NULL, NULL}
|
{0, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1025,10 +878,10 @@ JVMFlag::Error JVMFlag::boolAtPut(JVMFlag* flag, bool* value, JVMFlag::Flags ori
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
bool old_value = flag->get_bool();
|
bool old_value = flag->get_bool();
|
||||||
trace_flag_changed<EventBooleanFlagChanged, bool>(flag, old_value, *value, origin);
|
trace_flag_changed<EventBooleanFlagChanged, bool>(flag, old_value, *value, origin);
|
||||||
check = flag->set_bool(*value);
|
flag->set_bool(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::boolAtPut(JVMFlagsEnum flag, bool value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::boolAtPut(JVMFlagsEnum flag, bool value, JVMFlag::Flags origin) {
|
||||||
|
@ -1066,10 +919,10 @@ JVMFlag::Error JVMFlag::intAtPut(JVMFlag* flag, int* value, JVMFlag::Flags origi
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
int old_value = flag->get_int();
|
int old_value = flag->get_int();
|
||||||
trace_flag_changed<EventIntFlagChanged, s4>(flag, old_value, *value, origin);
|
trace_flag_changed<EventIntFlagChanged, s4>(flag, old_value, *value, origin);
|
||||||
check = flag->set_int(*value);
|
flag->set_int(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::intAtPut(JVMFlagsEnum flag, int value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::intAtPut(JVMFlagsEnum flag, int value, JVMFlag::Flags origin) {
|
||||||
|
@ -1107,10 +960,10 @@ JVMFlag::Error JVMFlag::uintAtPut(JVMFlag* flag, uint* value, JVMFlag::Flags ori
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
uint old_value = flag->get_uint();
|
uint old_value = flag->get_uint();
|
||||||
trace_flag_changed<EventUnsignedIntFlagChanged, u4>(flag, old_value, *value, origin);
|
trace_flag_changed<EventUnsignedIntFlagChanged, u4>(flag, old_value, *value, origin);
|
||||||
check = flag->set_uint(*value);
|
flag->set_uint(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::uintAtPut(JVMFlagsEnum flag, uint value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::uintAtPut(JVMFlagsEnum flag, uint value, JVMFlag::Flags origin) {
|
||||||
|
@ -1148,10 +1001,10 @@ JVMFlag::Error JVMFlag::intxAtPut(JVMFlag* flag, intx* value, JVMFlag::Flags ori
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
intx old_value = flag->get_intx();
|
intx old_value = flag->get_intx();
|
||||||
trace_flag_changed<EventLongFlagChanged, intx>(flag, old_value, *value, origin);
|
trace_flag_changed<EventLongFlagChanged, intx>(flag, old_value, *value, origin);
|
||||||
check = flag->set_intx(*value);
|
flag->set_intx(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::intxAtPut(JVMFlagsEnum flag, intx value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::intxAtPut(JVMFlagsEnum flag, intx value, JVMFlag::Flags origin) {
|
||||||
|
@ -1189,10 +1042,10 @@ JVMFlag::Error JVMFlag::uintxAtPut(JVMFlag* flag, uintx* value, JVMFlag::Flags o
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
uintx old_value = flag->get_uintx();
|
uintx old_value = flag->get_uintx();
|
||||||
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
||||||
check = flag->set_uintx(*value);
|
flag->set_uintx(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::uintxAtPut(JVMFlagsEnum flag, uintx value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::uintxAtPut(JVMFlagsEnum flag, uintx value, JVMFlag::Flags origin) {
|
||||||
|
@ -1230,10 +1083,10 @@ JVMFlag::Error JVMFlag::uint64_tAtPut(JVMFlag* flag, uint64_t* value, JVMFlag::F
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
uint64_t old_value = flag->get_uint64_t();
|
uint64_t old_value = flag->get_uint64_t();
|
||||||
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
||||||
check = flag->set_uint64_t(*value);
|
flag->set_uint64_t(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::uint64_tAtPut(JVMFlagsEnum flag, uint64_t value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::uint64_tAtPut(JVMFlagsEnum flag, uint64_t value, JVMFlag::Flags origin) {
|
||||||
|
@ -1272,10 +1125,10 @@ JVMFlag::Error JVMFlag::size_tAtPut(JVMFlag* flag, size_t* value, JVMFlag::Flags
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
size_t old_value = flag->get_size_t();
|
size_t old_value = flag->get_size_t();
|
||||||
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
trace_flag_changed<EventUnsignedLongFlagChanged, u8>(flag, old_value, *value, origin);
|
||||||
check = flag->set_size_t(*value);
|
flag->set_size_t(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::size_tAtPut(JVMFlagsEnum flag, size_t value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::size_tAtPut(JVMFlagsEnum flag, size_t value, JVMFlag::Flags origin) {
|
||||||
|
@ -1313,10 +1166,10 @@ JVMFlag::Error JVMFlag::doubleAtPut(JVMFlag* flag, double* value, JVMFlag::Flags
|
||||||
if (check != JVMFlag::SUCCESS) return check;
|
if (check != JVMFlag::SUCCESS) return check;
|
||||||
double old_value = flag->get_double();
|
double old_value = flag->get_double();
|
||||||
trace_flag_changed<EventDoubleFlagChanged, double>(flag, old_value, *value, origin);
|
trace_flag_changed<EventDoubleFlagChanged, double>(flag, old_value, *value, origin);
|
||||||
check = flag->set_double(*value);
|
flag->set_double(*value);
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::doubleAtPut(JVMFlagsEnum flag, double value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::doubleAtPut(JVMFlagsEnum flag, double value, JVMFlag::Flags origin) {
|
||||||
|
@ -1341,14 +1194,14 @@ JVMFlag::Error JVMFlag::ccstrAtPut(JVMFlag* flag, ccstr* value, JVMFlag::Flags o
|
||||||
if (*value != NULL) {
|
if (*value != NULL) {
|
||||||
new_value = os::strdup_check_oom(*value);
|
new_value = os::strdup_check_oom(*value);
|
||||||
}
|
}
|
||||||
JVMFlag::Error check = flag->set_ccstr(new_value);
|
flag->set_ccstr(new_value);
|
||||||
if (flag->is_default() && old_value != NULL) {
|
if (flag->is_default() && old_value != NULL) {
|
||||||
// Prior value is NOT heap allocated, but was a literal constant.
|
// Prior value is NOT heap allocated, but was a literal constant.
|
||||||
old_value = os::strdup_check_oom(old_value);
|
old_value = os::strdup_check_oom(old_value);
|
||||||
}
|
}
|
||||||
*value = old_value;
|
*value = old_value;
|
||||||
flag->set_origin(origin);
|
flag->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlag::Error JVMFlagEx::ccstrAtPut(JVMFlagsEnum flag, ccstr value, JVMFlag::Flags origin) {
|
JVMFlag::Error JVMFlagEx::ccstrAtPut(JVMFlagsEnum flag, ccstr value, JVMFlag::Flags origin) {
|
||||||
|
@ -1357,13 +1210,13 @@ JVMFlag::Error JVMFlagEx::ccstrAtPut(JVMFlagsEnum flag, ccstr value, JVMFlag::Fl
|
||||||
ccstr old_value = faddr->get_ccstr();
|
ccstr old_value = faddr->get_ccstr();
|
||||||
trace_flag_changed<EventStringFlagChanged, const char*>(faddr, old_value, value, origin);
|
trace_flag_changed<EventStringFlagChanged, const char*>(faddr, old_value, value, origin);
|
||||||
char* new_value = os::strdup_check_oom(value);
|
char* new_value = os::strdup_check_oom(value);
|
||||||
JVMFlag::Error check = faddr->set_ccstr(new_value);
|
faddr->set_ccstr(new_value);
|
||||||
if (!faddr->is_default() && old_value != NULL) {
|
if (!faddr->is_default() && old_value != NULL) {
|
||||||
// Prior value is heap allocated so free it.
|
// Prior value is heap allocated so free it.
|
||||||
FREE_C_HEAP_ARRAY(char, old_value);
|
FREE_C_HEAP_ARRAY(char, old_value);
|
||||||
}
|
}
|
||||||
faddr->set_origin(origin);
|
faddr->set_origin(origin);
|
||||||
return check;
|
return JVMFlag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -143,44 +143,42 @@ public:
|
||||||
static const char* get_size_t_default_range_str();
|
static const char* get_size_t_default_range_str();
|
||||||
static const char* get_double_default_range_str();
|
static const char* get_double_default_range_str();
|
||||||
|
|
||||||
JVMFlag::Error check_writable(bool changed);
|
|
||||||
|
|
||||||
bool is_bool() const;
|
bool is_bool() const;
|
||||||
bool get_bool() const;
|
bool get_bool() const { return *((bool*) _addr); }
|
||||||
JVMFlag::Error set_bool(bool value);
|
void set_bool(bool value) { *((bool*) _addr) = value; }
|
||||||
|
|
||||||
bool is_int() const;
|
bool is_int() const;
|
||||||
int get_int() const;
|
int get_int() const { return *((int*) _addr); }
|
||||||
JVMFlag::Error set_int(int value);
|
void set_int(int value) { *((int*) _addr) = value; }
|
||||||
|
|
||||||
bool is_uint() const;
|
bool is_uint() const;
|
||||||
uint get_uint() const;
|
uint get_uint() const { return *((uint*) _addr); }
|
||||||
JVMFlag::Error set_uint(uint value);
|
void set_uint(uint value) { *((uint*) _addr) = value; }
|
||||||
|
|
||||||
bool is_intx() const;
|
bool is_intx() const;
|
||||||
intx get_intx() const;
|
intx get_intx() const { return *((intx*) _addr); }
|
||||||
JVMFlag::Error set_intx(intx value);
|
void set_intx(intx value) { *((intx*) _addr) = value; }
|
||||||
|
|
||||||
bool is_uintx() const;
|
bool is_uintx() const;
|
||||||
uintx get_uintx() const;
|
uintx get_uintx() const { return *((uintx*) _addr); }
|
||||||
JVMFlag::Error set_uintx(uintx value);
|
void set_uintx(uintx value) { *((uintx*) _addr) = value; }
|
||||||
|
|
||||||
bool is_uint64_t() const;
|
bool is_uint64_t() const;
|
||||||
uint64_t get_uint64_t() const;
|
uint64_t get_uint64_t() const { return *((uint64_t*) _addr); }
|
||||||
JVMFlag::Error set_uint64_t(uint64_t value);
|
void set_uint64_t(uint64_t value) { *((uint64_t*) _addr) = value; }
|
||||||
|
|
||||||
bool is_size_t() const;
|
bool is_size_t() const;
|
||||||
size_t get_size_t() const;
|
size_t get_size_t() const { return *((size_t*) _addr); }
|
||||||
JVMFlag::Error set_size_t(size_t value);
|
void set_size_t(size_t value) { *((size_t*) _addr) = value; }
|
||||||
|
|
||||||
bool is_double() const;
|
bool is_double() const;
|
||||||
double get_double() const;
|
double get_double() const { return *((double*) _addr); }
|
||||||
JVMFlag::Error set_double(double value);
|
void set_double(double value) { *((double*) _addr) = value; }
|
||||||
|
|
||||||
bool is_ccstr() const;
|
bool is_ccstr() const;
|
||||||
bool ccstr_accumulates() const;
|
bool ccstr_accumulates() const;
|
||||||
ccstr get_ccstr() const;
|
ccstr get_ccstr() const { return *((ccstr*) _addr); }
|
||||||
JVMFlag::Error set_ccstr(ccstr value);
|
void set_ccstr(ccstr value) { *((ccstr*) _addr) = value; }
|
||||||
|
|
||||||
Flags get_origin();
|
Flags get_origin();
|
||||||
void set_origin(Flags origin);
|
void set_origin(Flags origin);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -266,8 +266,7 @@ void JVMFlagConstraintList::init(void) {
|
||||||
EMIT_CONSTRAINT_PRODUCT_RW_FLAG,
|
EMIT_CONSTRAINT_PRODUCT_RW_FLAG,
|
||||||
EMIT_CONSTRAINT_LP64_PRODUCT_FLAG,
|
EMIT_CONSTRAINT_LP64_PRODUCT_FLAG,
|
||||||
IGNORE_RANGE,
|
IGNORE_RANGE,
|
||||||
EMIT_CONSTRAINT_CHECK,
|
EMIT_CONSTRAINT_CHECK)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
||||||
EMIT_CONSTRAINT_END
|
EMIT_CONSTRAINT_END
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -331,8 +331,7 @@ void JVMFlagRangeList::init(void) {
|
||||||
EMIT_RANGE_PRODUCT_RW_FLAG,
|
EMIT_RANGE_PRODUCT_RW_FLAG,
|
||||||
EMIT_RANGE_LP64_PRODUCT_FLAG,
|
EMIT_RANGE_LP64_PRODUCT_FLAG,
|
||||||
EMIT_RANGE_CHECK,
|
EMIT_RANGE_CHECK,
|
||||||
IGNORE_CONSTRAINT,
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
||||||
EMIT_RANGE_END
|
EMIT_RANGE_END
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2015, 2018, 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
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
* version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
* accompanied this code).
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License version
|
|
||||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*
|
|
||||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
* or visit www.oracle.com if you need additional information or have any
|
|
||||||
* questions.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
|
||||||
#include "runtime/flags/jvmFlagWriteableList.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
|
||||||
|
|
||||||
bool JVMFlagWriteable::is_writeable(void) {
|
|
||||||
return _writeable;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JVMFlagWriteable::mark_once(void) {
|
|
||||||
if (_type == Once) {
|
|
||||||
_writeable = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void JVMFlagWriteable::mark_startup(void) {
|
|
||||||
if (_type == JVMFlagWriteable::CommandLineOnly) {
|
|
||||||
_writeable = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// No control emitting
|
|
||||||
void emit_writeable_no(...) { /* NOP */ }
|
|
||||||
|
|
||||||
// No control emitting if type argument is NOT provided
|
|
||||||
void emit_writeable_bool(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_ccstr(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_ccstrlist(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_int(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_intx(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_uint(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_uintx(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_uint64_t(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_size_t(const char* /*name*/) { /* NOP */ }
|
|
||||||
void emit_writeable_double(const char* /*name*/) { /* NOP */ }
|
|
||||||
|
|
||||||
// JVMFlagWriteable emitting code functions if range arguments are provided
|
|
||||||
void emit_writeable_bool(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_int(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_intx(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_uint(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_uintx(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_uint64_t(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_size_t(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
void emit_writeable_double(const char* name, JVMFlagWriteable::WriteableType type) {
|
|
||||||
JVMFlagWriteableList::add(new JVMFlagWriteable(name, type));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate code to call emit_writeable_xxx function
|
|
||||||
#define EMIT_WRITEABLE_START (void)(0
|
|
||||||
#define EMIT_WRITEABLE(type, name) ); emit_writeable_##type(#name
|
|
||||||
#define EMIT_WRITEABLE_PRODUCT_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_DIAGNOSTIC_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_EXPERIMENTAL_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_MANAGEABLE_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_PRODUCT_RW_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_PD_PRODUCT_FLAG(type, name, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_DEVELOPER_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_PD_DEVELOPER_FLAG(type, name, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_PD_DIAGNOSTIC_FLAG(type, name, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_NOTPRODUCT_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_LP64_PRODUCT_FLAG(type, name, value, doc) EMIT_WRITEABLE(type, name)
|
|
||||||
#define EMIT_WRITEABLE_END );
|
|
||||||
|
|
||||||
// Generate type argument to pass into emit_writeable_xxx functions
|
|
||||||
#define EMIT_WRITEABLE_CHECK(a) , JVMFlagWriteable::a
|
|
||||||
|
|
||||||
#define INITIAL_WRITEABLES_SIZE 2
|
|
||||||
GrowableArray<JVMFlagWriteable*>* JVMFlagWriteableList::_controls = NULL;
|
|
||||||
|
|
||||||
void JVMFlagWriteableList::init(void) {
|
|
||||||
|
|
||||||
_controls = new (ResourceObj::C_HEAP, mtArguments) GrowableArray<JVMFlagWriteable*>(INITIAL_WRITEABLES_SIZE, true);
|
|
||||||
|
|
||||||
EMIT_WRITEABLE_START
|
|
||||||
|
|
||||||
ALL_FLAGS(EMIT_WRITEABLE_DEVELOPER_FLAG,
|
|
||||||
EMIT_WRITEABLE_PD_DEVELOPER_FLAG,
|
|
||||||
EMIT_WRITEABLE_PRODUCT_FLAG,
|
|
||||||
EMIT_WRITEABLE_PD_PRODUCT_FLAG,
|
|
||||||
EMIT_WRITEABLE_DIAGNOSTIC_FLAG,
|
|
||||||
EMIT_WRITEABLE_PD_DIAGNOSTIC_FLAG,
|
|
||||||
EMIT_WRITEABLE_EXPERIMENTAL_FLAG,
|
|
||||||
EMIT_WRITEABLE_NOTPRODUCT_FLAG,
|
|
||||||
EMIT_WRITEABLE_MANAGEABLE_FLAG,
|
|
||||||
EMIT_WRITEABLE_PRODUCT_RW_FLAG,
|
|
||||||
EMIT_WRITEABLE_LP64_PRODUCT_FLAG,
|
|
||||||
IGNORE_RANGE,
|
|
||||||
IGNORE_CONSTRAINT,
|
|
||||||
EMIT_WRITEABLE_CHECK)
|
|
||||||
|
|
||||||
EMIT_WRITEABLE_END
|
|
||||||
}
|
|
||||||
|
|
||||||
JVMFlagWriteable* JVMFlagWriteableList::find(const char* name) {
|
|
||||||
JVMFlagWriteable* found = NULL;
|
|
||||||
for (int i=0; i<length(); i++) {
|
|
||||||
JVMFlagWriteable* writeable = at(i);
|
|
||||||
if (strcmp(writeable->name(), name) == 0) {
|
|
||||||
found = writeable;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return found;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JVMFlagWriteableList::mark_startup(void) {
|
|
||||||
for (int i=0; i<length(); i++) {
|
|
||||||
JVMFlagWriteable* writeable = at(i);
|
|
||||||
writeable->mark_startup();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,67 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2015, 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
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
* version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
* accompanied this code).
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License version
|
|
||||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*
|
|
||||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
* or visit www.oracle.com if you need additional information or have any
|
|
||||||
* questions.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
|
|
||||||
#define SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
|
|
||||||
|
|
||||||
#include "utilities/growableArray.hpp"
|
|
||||||
|
|
||||||
class JVMFlagWriteable : public CHeapObj<mtArguments> {
|
|
||||||
public:
|
|
||||||
enum WriteableType {
|
|
||||||
// can be set without any limits
|
|
||||||
Always = 0,
|
|
||||||
// can only be set once, either via command lines or during runtime
|
|
||||||
Once = 1,
|
|
||||||
// can only be set on command line (multiple times allowed)
|
|
||||||
CommandLineOnly = 2
|
|
||||||
};
|
|
||||||
private:
|
|
||||||
const char* _name;
|
|
||||||
WriteableType _type;
|
|
||||||
bool _writeable;
|
|
||||||
bool _startup_done;
|
|
||||||
public:
|
|
||||||
// the "name" argument must be a string literal
|
|
||||||
JVMFlagWriteable(const char* name, WriteableType type) { _name=name; _type=type; _writeable=true; _startup_done=false; }
|
|
||||||
~JVMFlagWriteable() {}
|
|
||||||
const char* name() { return _name; }
|
|
||||||
const WriteableType type() { return _type; }
|
|
||||||
bool is_writeable(void);
|
|
||||||
void mark_once(void);
|
|
||||||
void mark_startup(void);
|
|
||||||
};
|
|
||||||
|
|
||||||
class JVMFlagWriteableList : public AllStatic {
|
|
||||||
static GrowableArray<JVMFlagWriteable*>* _controls;
|
|
||||||
public:
|
|
||||||
static void init();
|
|
||||||
static int length() { return (_controls != NULL) ? _controls->length() : 0; }
|
|
||||||
static JVMFlagWriteable* at(int i) { return (_controls != NULL) ? _controls->at(i) : NULL; }
|
|
||||||
static JVMFlagWriteable* find(const char* name);
|
|
||||||
static void add(JVMFlagWriteable* range) { _controls->append(range); }
|
|
||||||
static void mark_startup(void);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // SHARE_RUNTIME_FLAGS_JVMFLAGWRITEABLELIST_HPP
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -32,7 +32,6 @@
|
||||||
#include "runtime/globals_extension.hpp"
|
#include "runtime/globals_extension.hpp"
|
||||||
#include "runtime/globals_shared.hpp"
|
#include "runtime/globals_shared.hpp"
|
||||||
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
||||||
#include "runtime/flags/jvmFlagWriteableList.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
#include "utilities/defaultStream.hpp"
|
#include "utilities/defaultStream.hpp"
|
||||||
|
@ -76,5 +75,4 @@ ALL_FLAGS(MATERIALIZE_DEVELOPER_FLAG, \
|
||||||
MATERIALIZE_PRODUCT_RW_FLAG, \
|
MATERIALIZE_PRODUCT_RW_FLAG, \
|
||||||
MATERIALIZE_LP64_PRODUCT_FLAG, \
|
MATERIALIZE_LP64_PRODUCT_FLAG, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
|
@ -104,17 +104,6 @@
|
||||||
//
|
//
|
||||||
// constraint is a macro that will expand to custom function call
|
// constraint is a macro that will expand to custom function call
|
||||||
// for constraint checking if provided - see jvmFlagConstraintList.hpp
|
// for constraint checking if provided - see jvmFlagConstraintList.hpp
|
||||||
//
|
|
||||||
// writeable is a macro that controls if and how the value can change during the runtime
|
|
||||||
//
|
|
||||||
// writeable(Always) is optional and allows the flag to have its value changed
|
|
||||||
// without any limitations at any time
|
|
||||||
//
|
|
||||||
// writeable(Once) flag value's can be only set once during the lifetime of VM
|
|
||||||
//
|
|
||||||
// writeable(CommandLineOnly) flag value's can be only set from command line
|
|
||||||
// (multiple times allowed)
|
|
||||||
//
|
|
||||||
|
|
||||||
// Default and minimum StringTable and SymbolTable size values
|
// Default and minimum StringTable and SymbolTable size values
|
||||||
// Must be powers of 2
|
// Must be powers of 2
|
||||||
|
@ -135,8 +124,7 @@ const size_t minimumSymbolTableSize = 1024;
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
lp64_product(bool, UseCompressedOops, false, \
|
lp64_product(bool, UseCompressedOops, false, \
|
||||||
"Use 32-bit object references in 64-bit VM. " \
|
"Use 32-bit object references in 64-bit VM. " \
|
||||||
|
@ -2538,7 +2526,6 @@ ALL_FLAGS(DECLARE_DEVELOPER_FLAG, \
|
||||||
DECLARE_PRODUCT_RW_FLAG, \
|
DECLARE_PRODUCT_RW_FLAG, \
|
||||||
DECLARE_LP64_PRODUCT_FLAG, \
|
DECLARE_LP64_PRODUCT_FLAG, \
|
||||||
IGNORE_RANGE, \
|
IGNORE_RANGE, \
|
||||||
IGNORE_CONSTRAINT, \
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
||||||
#endif // SHARE_RUNTIME_GLOBALS_HPP
|
#endif // SHARE_RUNTIME_GLOBALS_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -63,8 +63,7 @@ typedef enum {
|
||||||
FLAG_MEMBER_ENUM_PRODUCT_RW,
|
FLAG_MEMBER_ENUM_PRODUCT_RW,
|
||||||
FLAG_MEMBER_ENUM_LP64_PRODUCT,
|
FLAG_MEMBER_ENUM_LP64_PRODUCT,
|
||||||
IGNORE_RANGE,
|
IGNORE_RANGE,
|
||||||
IGNORE_CONSTRAINT,
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
NUM_JVMFlagsEnum
|
NUM_JVMFlagsEnum
|
||||||
} JVMFlagsEnum;
|
} JVMFlagsEnum;
|
||||||
|
|
||||||
|
@ -128,8 +127,7 @@ ALL_FLAGS(FLAG_MEMBER_SET_DEVELOP,
|
||||||
FLAG_MEMBER_SET_PRODUCT_RW,
|
FLAG_MEMBER_SET_PRODUCT_RW,
|
||||||
FLAG_MEMBER_SET_LP64_PRODUCT,
|
FLAG_MEMBER_SET_LP64_PRODUCT,
|
||||||
IGNORE_RANGE,
|
IGNORE_RANGE,
|
||||||
IGNORE_CONSTRAINT,
|
IGNORE_CONSTRAINT)
|
||||||
IGNORE_WRITEABLE)
|
|
||||||
|
|
||||||
#define FLAG_IS_DEFAULT(name) (JVMFlagEx::is_default(FLAG_MEMBER_ENUM(name)))
|
#define FLAG_IS_DEFAULT(name) (JVMFlagEx::is_default(FLAG_MEMBER_ENUM(name)))
|
||||||
#define FLAG_IS_ERGO(name) (JVMFlagEx::is_ergo(FLAG_MEMBER_ENUM(name)))
|
#define FLAG_IS_ERGO(name) (JVMFlagEx::is_ergo(FLAG_MEMBER_ENUM(name)))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -77,8 +77,6 @@
|
||||||
// Only materialize src code for contraint checking when required, ignore otherwise
|
// Only materialize src code for contraint checking when required, ignore otherwise
|
||||||
#define IGNORE_CONSTRAINT(func,type)
|
#define IGNORE_CONSTRAINT(func,type)
|
||||||
|
|
||||||
#define IGNORE_WRITEABLE(type)
|
|
||||||
|
|
||||||
#define VM_FLAGS( \
|
#define VM_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
develop_pd, \
|
develop_pd, \
|
||||||
|
@ -92,8 +90,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
RUNTIME_FLAGS( \
|
RUNTIME_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -108,8 +105,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
GC_FLAGS( \
|
GC_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -124,8 +120,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
|
|
||||||
|
|
||||||
#define ALL_FLAGS( \
|
#define ALL_FLAGS( \
|
||||||
|
@ -141,8 +136,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
VM_FLAGS( \
|
VM_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -157,8 +151,7 @@
|
||||||
product_rw, \
|
product_rw, \
|
||||||
lp64_product, \
|
lp64_product, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
RUNTIME_OS_FLAGS( \
|
RUNTIME_OS_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -169,8 +162,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint) \
|
||||||
writeable) \
|
|
||||||
\
|
\
|
||||||
JVMCI_ONLY(JVMCI_FLAGS( \
|
JVMCI_ONLY(JVMCI_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -182,8 +174,7 @@
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
COMPILER1_PRESENT(C1_FLAGS( \
|
COMPILER1_PRESENT(C1_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -194,8 +185,7 @@
|
||||||
diagnostic_pd, \
|
diagnostic_pd, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
COMPILER2_PRESENT(C2_FLAGS( \
|
COMPILER2_PRESENT(C2_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -207,8 +197,7 @@
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)) \
|
||||||
writeable)) \
|
|
||||||
\
|
\
|
||||||
ARCH_FLAGS( \
|
ARCH_FLAGS( \
|
||||||
develop, \
|
develop, \
|
||||||
|
@ -217,7 +206,6 @@
|
||||||
experimental, \
|
experimental, \
|
||||||
notproduct, \
|
notproduct, \
|
||||||
range, \
|
range, \
|
||||||
constraint, \
|
constraint)
|
||||||
writeable)
|
|
||||||
|
|
||||||
#endif // SHARE_RUNTIME_GLOBALS_SHARED_HPP
|
#endif // SHARE_RUNTIME_GLOBALS_SHARED_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -68,7 +68,6 @@
|
||||||
#include "runtime/fieldDescriptor.inline.hpp"
|
#include "runtime/fieldDescriptor.inline.hpp"
|
||||||
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
#include "runtime/flags/jvmFlagConstraintList.hpp"
|
||||||
#include "runtime/flags/jvmFlagRangeList.hpp"
|
#include "runtime/flags/jvmFlagRangeList.hpp"
|
||||||
#include "runtime/flags/jvmFlagWriteableList.hpp"
|
|
||||||
#include "runtime/deoptimization.hpp"
|
#include "runtime/deoptimization.hpp"
|
||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
|
@ -3818,8 +3817,6 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
|
||||||
return JNI_EINVAL;
|
return JNI_EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
JVMFlagWriteableList::mark_startup();
|
|
||||||
|
|
||||||
if (PauseAtStartup) {
|
if (PauseAtStartup) {
|
||||||
os::pause();
|
os::pause();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue