mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8236736: Change notproduct JVM flags to develop flags
Reviewed-by: iklam, kvn, kbarrett
This commit is contained in:
parent
80c54b484f
commit
bea493bcb8
@ -80,7 +80,6 @@ define_pd_global(intx, InlineSmallCode, 1000);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2024, 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
|
||||
@ -75,7 +75,6 @@ define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2023 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -80,7 +80,6 @@ define_pd_global(intx, InitArrayShortSize, 9*BytesPerLong);
|
||||
// Platform dependent flag handling: flags only defined on this platform.
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -78,7 +78,6 @@ define_pd_global(intx, InlineSmallCode, 1000);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -80,7 +80,6 @@ define_pd_global(intx, InitArrayShortSize, 1*BytesPerLong);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2024, 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
|
||||
@ -98,7 +98,6 @@ define_pd_global(intx, InitArrayShortSize, 8*BytesPerLong);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2024, 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.
|
||||
*
|
||||
@ -77,7 +77,6 @@ define_pd_global(bool, CompactStrings, true);
|
||||
|
||||
#define ARCH_FLAGS(develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -34,7 +34,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2024, 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 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2024, 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 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2024, 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 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -35,48 +35,47 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
/* Printing */ \
|
||||
notproduct(bool, PrintC1Statistics, false, \
|
||||
develop(bool, PrintC1Statistics, false, \
|
||||
"Print Compiler1 statistics" ) \
|
||||
\
|
||||
notproduct(bool, PrintInitialBlockList, false, \
|
||||
develop(bool, PrintInitialBlockList, false, \
|
||||
"Print block list of BlockListBuilder") \
|
||||
\
|
||||
notproduct(bool, PrintCFG, false, \
|
||||
develop(bool, PrintCFG, false, \
|
||||
"Print control flow graph after each change") \
|
||||
\
|
||||
notproduct(bool, PrintCFG0, false, \
|
||||
develop(bool, PrintCFG0, false, \
|
||||
"Print control flow graph after construction") \
|
||||
\
|
||||
notproduct(bool, PrintCFG1, false, \
|
||||
develop(bool, PrintCFG1, false, \
|
||||
"Print control flow graph after optimizations") \
|
||||
\
|
||||
notproduct(bool, PrintCFG2, false, \
|
||||
develop(bool, PrintCFG2, false, \
|
||||
"Print control flow graph before code generation") \
|
||||
\
|
||||
notproduct(bool, PrintIRDuringConstruction, false, \
|
||||
develop(bool, PrintIRDuringConstruction, false, \
|
||||
"Print IR as it's being constructed (helpful for debugging frontend)")\
|
||||
\
|
||||
notproduct(bool, PrintPhiFunctions, false, \
|
||||
develop(bool, PrintPhiFunctions, false, \
|
||||
"Print phi functions when they are created and simplified") \
|
||||
\
|
||||
notproduct(bool, PrintIR, false, \
|
||||
develop(bool, PrintIR, false, \
|
||||
"Print full intermediate representation after each change") \
|
||||
\
|
||||
notproduct(bool, PrintIR0, false, \
|
||||
develop(bool, PrintIR0, false, \
|
||||
"Print full intermediate representation after construction") \
|
||||
\
|
||||
notproduct(bool, PrintIR1, false, \
|
||||
develop(bool, PrintIR1, false, \
|
||||
"Print full intermediate representation after optimizations") \
|
||||
\
|
||||
notproduct(bool, PrintIR2, false, \
|
||||
develop(bool, PrintIR2, false, \
|
||||
"Print full intermediate representation before code generation") \
|
||||
\
|
||||
notproduct(bool, PrintSimpleStubs, false, \
|
||||
develop(bool, PrintSimpleStubs, false, \
|
||||
"Print SimpleStubs") \
|
||||
\
|
||||
/* C1 optimizations */ \
|
||||
@ -188,10 +187,10 @@
|
||||
"Percentage of prev. allowed inline size in recursive inlining") \
|
||||
range(0, 100) \
|
||||
\
|
||||
notproduct(bool, PrintIRWithLIR, false, \
|
||||
develop(bool, PrintIRWithLIR, false, \
|
||||
"Print IR instructions with generated LIR") \
|
||||
\
|
||||
notproduct(bool, PrintLIRWithAssembly, false, \
|
||||
develop(bool, PrintLIRWithAssembly, false, \
|
||||
"Show LIR instruction with generated assembly") \
|
||||
\
|
||||
develop(bool, CommentedAssembly, trueInDebug, \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2022, 2024, 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
|
||||
@ -35,7 +35,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
/* Shared spaces */ \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -44,7 +44,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -95,11 +94,11 @@
|
||||
product(bool, CICompilerCountPerCPU, false, \
|
||||
"1 compiler thread for log(N CPUs)") \
|
||||
\
|
||||
notproduct(intx, CICrashAt, -1, \
|
||||
develop(intx, CICrashAt, -1, \
|
||||
"id of compilation to trigger assert in compiler thread for " \
|
||||
"the purpose of testing, e.g. generation of replay data") \
|
||||
\
|
||||
notproduct(bool, CIObjectFactoryVerify, false, \
|
||||
develop(bool, CIObjectFactoryVerify, false, \
|
||||
"enable potentially expensive verification in ciObjectFactory") \
|
||||
\
|
||||
develop(intx, CIStart, 0, \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2018, Red Hat, Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -36,7 +36,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2024, 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
|
||||
@ -43,7 +43,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -85,7 +84,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
#endif
|
||||
@ -97,7 +95,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -342,7 +339,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -29,7 +29,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
product(uintx, HeapMaximumCompactionInterval, 20, \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2024, 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
|
||||
@ -29,7 +29,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
|
||||
|
||||
@ -50,7 +50,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -59,7 +58,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -68,7 +66,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -77,7 +74,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -86,7 +82,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -95,7 +90,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -104,7 +98,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -240,7 +233,7 @@
|
||||
"free space in this calculation. (G1 collector only)") \
|
||||
range(0, 100) \
|
||||
\
|
||||
notproduct(bool, ScavengeALot, false, \
|
||||
develop(bool, ScavengeALot, false, \
|
||||
"Force scavenge at every Nth exit from the runtime system " \
|
||||
"(N=ScavengeALotInterval)") \
|
||||
\
|
||||
@ -248,10 +241,10 @@
|
||||
"Force full gc at every Nth exit from the runtime system " \
|
||||
"(N=FullGCALotInterval)") \
|
||||
\
|
||||
notproduct(bool, GCALotAtAllSafepoints, false, \
|
||||
develop(bool, GCALotAtAllSafepoints, false, \
|
||||
"Enforce ScavengeALot/GCALot at all potential safepoints") \
|
||||
\
|
||||
notproduct(bool, PromotionFailureALot, false, \
|
||||
develop(bool, PromotionFailureALot, false, \
|
||||
"Use promotion failure handling on every youngest generation " \
|
||||
"collection") \
|
||||
\
|
||||
@ -526,16 +519,16 @@
|
||||
"number of milliseconds") \
|
||||
range(0, max_intx) \
|
||||
\
|
||||
notproduct(int, ScavengeALotInterval, 1, \
|
||||
develop(int, ScavengeALotInterval, 1, \
|
||||
"Interval between which scavenge will occur with +ScavengeALot") \
|
||||
\
|
||||
notproduct(int, FullGCALotInterval, 1, \
|
||||
develop(int, FullGCALotInterval, 1, \
|
||||
"Interval between which full gc will occur with +FullGCALot") \
|
||||
\
|
||||
notproduct(int, FullGCALotStart, 0, \
|
||||
develop(int, FullGCALotStart, 0, \
|
||||
"For which invocation to start FullGCAlot") \
|
||||
\
|
||||
notproduct(int, FullGCALotDummies, 32*K, \
|
||||
develop(int, FullGCALotDummies, 32*K, \
|
||||
"Dummy object allocated with +FullGCALot, forcing all objects " \
|
||||
"to move") \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2024, 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
|
||||
@ -31,7 +31,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, Red Hat, Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -30,7 +30,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2024, 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
|
||||
@ -28,7 +28,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2024, 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
|
||||
@ -31,7 +31,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -92,7 +91,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -101,7 +99,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2024, 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
|
||||
@ -31,7 +31,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2024, 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
|
||||
@ -41,7 +41,7 @@ bool JVMCIGlobals::check_jvmci_flags_are_consistent() {
|
||||
|
||||
#ifndef PRODUCT
|
||||
#define APPLY_JVMCI_FLAGS(params3, params4) \
|
||||
JVMCI_FLAGS(params4, params3, params4, params3, params4, IGNORE_RANGE, IGNORE_CONSTRAINT)
|
||||
JVMCI_FLAGS(params4, params3, params4, params3, IGNORE_RANGE, IGNORE_CONSTRAINT)
|
||||
#define JVMCI_DECLARE_CHECK4(type, name, value, ...) bool name##checked = false;
|
||||
#define JVMCI_DECLARE_CHECK3(type, name, ...) bool name##checked = false;
|
||||
#define JVMCI_FLAG_CHECKED(name) name##checked = true;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2024, 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
|
||||
@ -41,7 +41,6 @@ class fileStream;
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -37,7 +37,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -104,7 +103,7 @@
|
||||
"Number of first instructions in a loop to align") \
|
||||
range(0, max_jint) \
|
||||
\
|
||||
notproduct(intx, IndexSetWatch, 0, \
|
||||
develop(intx, IndexSetWatch, 0, \
|
||||
"Trace all operations on this IndexSet (-1 means all, 0 none)") \
|
||||
range(-1, max_intx) \
|
||||
\
|
||||
@ -119,19 +118,19 @@
|
||||
develop(intx, OptoPeepholeAt, -1, \
|
||||
"Apply peephole optimizations to this peephole rule") \
|
||||
\
|
||||
notproduct(bool, PrintIdeal, false, \
|
||||
develop(bool, PrintIdeal, false, \
|
||||
"Print ideal graph before code generation") \
|
||||
\
|
||||
notproduct(bool, PrintOpto, false, \
|
||||
develop(bool, PrintOpto, false, \
|
||||
"Print compiler2 attempts") \
|
||||
\
|
||||
notproduct(bool, PrintOptoInlining, false, \
|
||||
develop(bool, PrintOptoInlining, false, \
|
||||
"Print compiler2 inlining decisions") \
|
||||
\
|
||||
notproduct(bool, VerifyIdealNodeCount, false, \
|
||||
develop(bool, VerifyIdealNodeCount, false, \
|
||||
"Verify that tracked dead ideal node count is accurate") \
|
||||
\
|
||||
notproduct(bool, PrintIdealNodeCount, false, \
|
||||
develop(bool, PrintIdealNodeCount, false, \
|
||||
"Print liveness counts of ideal nodes") \
|
||||
\
|
||||
product_pd(bool, IdealizeClearArrayNode, DIAGNOSTIC, \
|
||||
@ -140,19 +139,19 @@
|
||||
develop(bool, OptoBreakpoint, false, \
|
||||
"insert breakpoint at method entry") \
|
||||
\
|
||||
notproduct(bool, OptoBreakpointOSR, false, \
|
||||
develop(bool, OptoBreakpointOSR, false, \
|
||||
"insert breakpoint at osr method entry") \
|
||||
\
|
||||
notproduct(uint64_t, BreakAtNode, 0, \
|
||||
develop(uint64_t, BreakAtNode, 0, \
|
||||
"Break at construction of this Node (either _idx or _debug_idx)") \
|
||||
\
|
||||
notproduct(bool, OptoBreakpointC2R, false, \
|
||||
develop(bool, OptoBreakpointC2R, false, \
|
||||
"insert breakpoint at runtime stub entry") \
|
||||
\
|
||||
notproduct(bool, OptoNoExecute, false, \
|
||||
develop(bool, OptoNoExecute, false, \
|
||||
"Attempt to parse and compile but do not execute generated code") \
|
||||
\
|
||||
notproduct(bool, PrintOptoStatistics, false, \
|
||||
develop(bool, PrintOptoStatistics, false, \
|
||||
"Print New compiler statistics") \
|
||||
\
|
||||
product(bool, PrintOptoAssembly, false, DIAGNOSTIC, \
|
||||
@ -161,13 +160,13 @@
|
||||
develop_pd(bool, OptoPeephole, \
|
||||
"Apply peephole optimizations after register allocation") \
|
||||
\
|
||||
notproduct(bool, PrintFrameConverterAssembly, false, \
|
||||
develop(bool, PrintFrameConverterAssembly, false, \
|
||||
"Print New compiler assembly output for frame converters") \
|
||||
\
|
||||
notproduct(bool, PrintParseStatistics, false, \
|
||||
develop(bool, PrintParseStatistics, false, \
|
||||
"Print nodes, transforms and new values made per bytecode parsed")\
|
||||
\
|
||||
notproduct(bool, PrintOptoPeephole, false, \
|
||||
develop(bool, PrintOptoPeephole, false, \
|
||||
"Print New compiler peephole replacements") \
|
||||
\
|
||||
develop(bool, PrintCFGBlockFreq, false, \
|
||||
@ -192,7 +191,7 @@
|
||||
"Map number of unrolls for main loop via " \
|
||||
"Superword Level Parallelism analysis") \
|
||||
\
|
||||
notproduct(bool, TraceSuperWordLoopUnrollAnalysis, false, \
|
||||
develop(bool, TraceSuperWordLoopUnrollAnalysis, false, \
|
||||
"Trace what Superword Level Parallelism analysis applies") \
|
||||
\
|
||||
product(bool, UseVectorMacroLogic, true, DIAGNOSTIC, \
|
||||
@ -221,7 +220,7 @@
|
||||
"multianewarray instruction") \
|
||||
range(0, max_jint) \
|
||||
\
|
||||
notproduct(bool, TraceProfileTripCount, false, \
|
||||
develop(bool, TraceProfileTripCount, false, \
|
||||
"Trace profile loop trip count information") \
|
||||
\
|
||||
product(bool, UseCountedLoopSafepoints, false, \
|
||||
@ -278,16 +277,16 @@
|
||||
develop_pd(bool, UseCISCSpill, \
|
||||
"Use ADLC supplied cisc instructions during allocation") \
|
||||
\
|
||||
notproduct(bool, VerifyGraphEdges , false, \
|
||||
develop(bool, VerifyGraphEdges , false, \
|
||||
"Verify Bi-directional Edges") \
|
||||
\
|
||||
notproduct(bool, VerifyDUIterators, true, \
|
||||
develop(bool, VerifyDUIterators, true, \
|
||||
"Verify the safety of all iterations of Bi-directional Edges") \
|
||||
\
|
||||
notproduct(bool, VerifyHashTableKeys, true, \
|
||||
develop(bool, VerifyHashTableKeys, true, \
|
||||
"Verify the immutability of keys in the VN hash tables") \
|
||||
\
|
||||
notproduct(bool, VerifyRegisterAllocator , false, \
|
||||
develop(bool, VerifyRegisterAllocator , false, \
|
||||
"Verify Register Allocator") \
|
||||
\
|
||||
develop(intx, FLOATPRESSURE, -1, \
|
||||
@ -302,10 +301,10 @@
|
||||
"integer register for allocation") \
|
||||
range(-1, max_jint) \
|
||||
\
|
||||
notproduct(bool, TraceOptoPipelining, false, \
|
||||
develop(bool, TraceOptoPipelining, false, \
|
||||
"Trace pipelining information") \
|
||||
\
|
||||
notproduct(bool, TraceOptoOutput, false, \
|
||||
develop(bool, TraceOptoOutput, false, \
|
||||
"Trace pipelining information") \
|
||||
\
|
||||
product_pd(bool, OptoScheduling, \
|
||||
@ -321,7 +320,7 @@
|
||||
"Additional phis that can be created by partial peeling") \
|
||||
range(0, max_jint) \
|
||||
\
|
||||
notproduct(bool, TracePartialPeeling, false, \
|
||||
develop(bool, TracePartialPeeling, false, \
|
||||
"Trace partial peeling (loop rotation) information") \
|
||||
\
|
||||
product(bool, PartialPeelAtUnsignedTests, true, \
|
||||
@ -333,7 +332,7 @@
|
||||
product(bool, LoopUnswitching, true, \
|
||||
"Enable loop unswitching (a form of invariant test hoisting)") \
|
||||
\
|
||||
notproduct(bool, TraceLoopUnswitching, false, \
|
||||
develop(bool, TraceLoopUnswitching, false, \
|
||||
"Trace loop unswitching") \
|
||||
\
|
||||
product(bool, AllowVectorizeOnDemand, true, \
|
||||
@ -348,10 +347,10 @@
|
||||
product(bool, UseCMoveUnconditionally, false, \
|
||||
"Use CMove (scalar and vector) ignoring profitability test.") \
|
||||
\
|
||||
notproduct(bool, TraceSuperWord, false, \
|
||||
develop(bool, TraceSuperWord, false, \
|
||||
"Trace superword transforms") \
|
||||
\
|
||||
notproduct(bool, TraceNewVectors, false, \
|
||||
develop(bool, TraceNewVectors, false, \
|
||||
"Trace creation of Vector nodes") \
|
||||
\
|
||||
product_pd(bool, OptoBundling, \
|
||||
@ -361,11 +360,11 @@
|
||||
"Limit of ops to make speculative when using CMOVE") \
|
||||
range(0, max_jint) \
|
||||
\
|
||||
notproduct(bool, PrintIdealGraph, false, \
|
||||
develop(bool, PrintIdealGraph, false, \
|
||||
"Print ideal graph to XML file / network interface. " \
|
||||
"By default attempts to connect to the visualizer on a socket.") \
|
||||
\
|
||||
notproduct(intx, PrintIdealGraphLevel, 0, \
|
||||
develop(intx, PrintIdealGraphLevel, 0, \
|
||||
"Level of detail of the ideal graph printout. " \
|
||||
"System-wide value, -1=printing is disabled, " \
|
||||
"0=print nothing except IGVPrintLevel directives, " \
|
||||
@ -374,14 +373,14 @@
|
||||
"as well by using CompileCommand=option.") \
|
||||
range(-1, 6) \
|
||||
\
|
||||
notproduct(intx, PrintIdealGraphPort, 4444, \
|
||||
develop(intx, PrintIdealGraphPort, 4444, \
|
||||
"Ideal graph printer to network port") \
|
||||
range(0, SHRT_MAX) \
|
||||
\
|
||||
notproduct(ccstr, PrintIdealGraphAddress, "127.0.0.1", \
|
||||
develop(ccstr, PrintIdealGraphAddress, "127.0.0.1", \
|
||||
"IP address to connect to visualizer") \
|
||||
\
|
||||
notproduct(ccstr, PrintIdealGraphFile, nullptr, \
|
||||
develop(ccstr, PrintIdealGraphFile, nullptr, \
|
||||
"File to dump ideal graph to. If set overrides the " \
|
||||
"use of the network") \
|
||||
\
|
||||
@ -449,13 +448,13 @@
|
||||
product(bool, EliminateNestedLocks, true, \
|
||||
"Eliminate nested locks of the same object when possible") \
|
||||
\
|
||||
notproduct(bool, PrintLockStatistics, false, \
|
||||
develop(bool, PrintLockStatistics, false, \
|
||||
"Print precise statistics on the dynamic lock usage") \
|
||||
\
|
||||
product(bool, PrintPreciseRTMLockingStatistics, false, DIAGNOSTIC, \
|
||||
"Print per-lock-site statistics of rtm locking in JVM") \
|
||||
\
|
||||
notproduct(bool, PrintEliminateLocks, false, \
|
||||
develop(bool, PrintEliminateLocks, false, \
|
||||
"Print out when locks are eliminated") \
|
||||
\
|
||||
product(bool, EliminateAutoBox, true, \
|
||||
@ -474,7 +473,7 @@
|
||||
product(bool, ReduceAllocationMerges, true, DIAGNOSTIC, \
|
||||
"Try to simplify allocation merges before Scalar Replacement") \
|
||||
\
|
||||
notproduct(bool, TraceReduceAllocationMerges, false, \
|
||||
develop(bool, TraceReduceAllocationMerges, false, \
|
||||
"Trace decision for simplifying allocation merges.") \
|
||||
\
|
||||
develop(bool, VerifyReduceAllocationMerges, true, \
|
||||
@ -490,13 +489,13 @@
|
||||
develop(bool, ExitEscapeAnalysisOnTimeout, true, \
|
||||
"Exit or throw assert in EA when it reaches time limit") \
|
||||
\
|
||||
notproduct(bool, PrintEscapeAnalysis, false, \
|
||||
develop(bool, PrintEscapeAnalysis, false, \
|
||||
"Print the results of escape analysis") \
|
||||
\
|
||||
product(bool, EliminateAllocations, true, \
|
||||
"Use escape analysis to eliminate allocations") \
|
||||
\
|
||||
notproduct(bool, PrintEliminateAllocations, false, \
|
||||
develop(bool, PrintEliminateAllocations, false, \
|
||||
"Print out when allocations are eliminated") \
|
||||
\
|
||||
product(intx, EliminateAllocationArraySizeLimit, 64, \
|
||||
@ -510,16 +509,16 @@
|
||||
product(bool, OptimizePtrCompare, true, \
|
||||
"Use escape analysis to optimize pointers compare") \
|
||||
\
|
||||
notproduct(bool, PrintOptimizePtrCompare, false, \
|
||||
develop(bool, PrintOptimizePtrCompare, false, \
|
||||
"Print information about optimized pointers compare") \
|
||||
\
|
||||
notproduct(bool, VerifyConnectionGraph , true, \
|
||||
develop(bool, VerifyConnectionGraph , true, \
|
||||
"Verify Connection Graph construction in Escape Analysis") \
|
||||
\
|
||||
product(bool, OptimizeStringConcat, true, \
|
||||
"Optimize the construction of Strings by StringBuilder") \
|
||||
\
|
||||
notproduct(bool, PrintOptimizeStringConcat, false, \
|
||||
develop(bool, PrintOptimizeStringConcat, false, \
|
||||
"Print information about transformations performed on Strings") \
|
||||
\
|
||||
product(intx, ValueSearchLimit, 1000, \
|
||||
@ -580,7 +579,7 @@
|
||||
develop(bool, MonomorphicArrayCheck, true, \
|
||||
"Uncommon-trap array store checks that require full type check") \
|
||||
\
|
||||
notproduct(bool, TracePhaseCCP, false, \
|
||||
develop(bool, TracePhaseCCP, false, \
|
||||
"Print progress during Conditional Constant Propagation") \
|
||||
\
|
||||
develop(bool, PrintDominators, false, \
|
||||
@ -614,7 +613,7 @@
|
||||
product(bool, DebugInlinedCalls, true, DIAGNOSTIC, \
|
||||
"If false, restricts profiled locations to the root method only") \
|
||||
\
|
||||
notproduct(bool, VerifyLoopOptimizations, false, \
|
||||
develop(bool, VerifyLoopOptimizations, false, \
|
||||
"verify major loop optimizations") \
|
||||
\
|
||||
product(bool, ProfileDynamicTypes, true, DIAGNOSTIC, \
|
||||
@ -630,7 +629,7 @@
|
||||
"X and Y in 0=off; 1=on") \
|
||||
constraint(VerifyIterativeGVNConstraintFunc, AtParse) \
|
||||
\
|
||||
notproduct(bool, TraceCISCSpill, false, \
|
||||
develop(bool, TraceCISCSpill, false, \
|
||||
"Trace allocators use of cisc spillable instructions") \
|
||||
\
|
||||
product(bool, SplitIfBlocks, true, \
|
||||
|
||||
@ -1132,8 +1132,7 @@ bool Arguments::process_argument(const char* arg,
|
||||
JVMFlag::MsgType msg_type = found_flag->get_locked_message(locked_message_buf, BUFLEN);
|
||||
if (strlen(locked_message_buf) != 0) {
|
||||
#ifdef PRODUCT
|
||||
bool mismatched = ((msg_type == JVMFlag::NOTPRODUCT_FLAG_BUT_PRODUCT_BUILD) ||
|
||||
(msg_type == JVMFlag::DEVELOPER_FLAG_BUT_PRODUCT_BUILD));
|
||||
bool mismatched = msg_type == JVMFlag::DEVELOPER_FLAG_BUT_PRODUCT_BUILD;
|
||||
if (ignore_unrecognized && mismatched) {
|
||||
return true;
|
||||
}
|
||||
@ -3416,20 +3415,16 @@ bool Arguments::handle_deprecated_print_gc_flags() {
|
||||
}
|
||||
|
||||
static void apply_debugger_ergo() {
|
||||
#ifndef PRODUCT
|
||||
// UseDebuggerErgo is notproduct
|
||||
#ifdef ASSERT
|
||||
if (ReplayCompiles) {
|
||||
FLAG_SET_ERGO_IF_DEFAULT(UseDebuggerErgo, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef PRODUCT
|
||||
if (UseDebuggerErgo) {
|
||||
// Turn on sub-flags
|
||||
FLAG_SET_ERGO_IF_DEFAULT(UseDebuggerErgo1, true);
|
||||
FLAG_SET_ERGO_IF_DEFAULT(UseDebuggerErgo2, true);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (UseDebuggerErgo2) {
|
||||
// Debugging with limited number of CPUs
|
||||
@ -3438,6 +3433,7 @@ static void apply_debugger_ergo() {
|
||||
FLAG_SET_ERGO_IF_DEFAULT(ParallelGCThreads, 1);
|
||||
FLAG_SET_ERGO_IF_DEFAULT(CICompilerCount, 2);
|
||||
}
|
||||
#endif // ASSERT
|
||||
}
|
||||
|
||||
// Parse entry point called from JNI_CreateJavaVM
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2024, 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
|
||||
@ -40,7 +40,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -49,14 +48,12 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
ARCH_FLAGS( \
|
||||
develop, \
|
||||
product, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -65,7 +62,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -74,7 +70,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -83,7 +78,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -92,7 +86,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)) \
|
||||
\
|
||||
@ -101,7 +94,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -110,7 +102,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -119,7 +110,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -128,7 +118,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -137,7 +126,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -146,7 +134,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2021, 2024, 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
|
||||
@ -44,7 +44,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -55,7 +54,6 @@
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
|
||||
@ -55,11 +55,11 @@ void JVMFlag::set_origin(JVMFlagOrigin new_origin) {
|
||||
|
||||
/**
|
||||
* Returns if this flag is a constant in the binary. Right now this is
|
||||
* true for notproduct and develop flags in product builds.
|
||||
* true for develop flags in product builds.
|
||||
*/
|
||||
bool JVMFlag::is_constant_in_binary() const {
|
||||
#ifdef PRODUCT
|
||||
return is_notproduct() || is_develop();
|
||||
return is_develop();
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
@ -121,11 +121,6 @@ JVMFlag::MsgType JVMFlag::get_locked_message(char* buf, int buflen) const {
|
||||
_name);
|
||||
return JVMFlag::DEVELOPER_FLAG_BUT_PRODUCT_BUILD;
|
||||
}
|
||||
if (is_notproduct() && is_product_build()) {
|
||||
jio_snprintf(buf, buflen, "Error: VM option '%s' is notproduct and is available only in debug version of VM.\n",
|
||||
_name);
|
||||
return JVMFlag::NOTPRODUCT_FLAG_BUT_PRODUCT_BUILD;
|
||||
}
|
||||
return JVMFlag::NONE;
|
||||
}
|
||||
|
||||
@ -142,7 +137,7 @@ static void fill_to_pos(outputStream* st, unsigned int req_pos) {
|
||||
}
|
||||
|
||||
void JVMFlag::print_on(outputStream* st, bool withComments, bool printRanges) const {
|
||||
// Don't print notproduct and develop flags in a product build.
|
||||
// Don't print develop flags in a product build.
|
||||
if (is_constant_in_binary()) {
|
||||
return;
|
||||
}
|
||||
@ -344,7 +339,6 @@ void JVMFlag::print_kind(outputStream* st, unsigned int width) const {
|
||||
{ KIND_MANAGEABLE, "manageable" },
|
||||
{ KIND_DIAGNOSTIC, "diagnostic" },
|
||||
{ KIND_EXPERIMENTAL, "experimental" },
|
||||
{ KIND_NOT_PRODUCT, "notproduct" },
|
||||
{ KIND_DEVELOP, "develop" },
|
||||
{ KIND_LP64_PRODUCT, "lp64_product" },
|
||||
{ -1, "" }
|
||||
@ -458,12 +452,12 @@ void JVMFlag::print_as_flag(outputStream* st) const {
|
||||
#define ENUM_F(type, name, ...) enum_##name,
|
||||
#define IGNORE_F(...)
|
||||
|
||||
// dev dev-pd pro pro-pd notpro range constraint
|
||||
enum FlagCounter_LP64 { LP64_RUNTIME_FLAGS( ENUM_F, ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F) num_flags_LP64 };
|
||||
enum FlagCounter_ARCH { ARCH_FLAGS( ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F) num_flags_ARCH };
|
||||
enum FlagCounter_JVMCI { JVMCI_ONLY(JVMCI_FLAGS( ENUM_F, ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_JVMCI };
|
||||
enum FlagCounter_C1 { COMPILER1_PRESENT(C1_FLAGS(ENUM_F, ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_C1 };
|
||||
enum FlagCounter_C2 { COMPILER2_PRESENT(C2_FLAGS(ENUM_F, ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_C2 };
|
||||
// dev dev-pd pro pro-pd range constraint
|
||||
enum FlagCounter_LP64 { LP64_RUNTIME_FLAGS( ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F) num_flags_LP64 };
|
||||
enum FlagCounter_ARCH { ARCH_FLAGS( ENUM_F, ENUM_F, IGNORE_F, IGNORE_F) num_flags_ARCH };
|
||||
enum FlagCounter_JVMCI { JVMCI_ONLY(JVMCI_FLAGS( ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_JVMCI };
|
||||
enum FlagCounter_C1 { COMPILER1_PRESENT(C1_FLAGS(ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_C1 };
|
||||
enum FlagCounter_C2 { COMPILER2_PRESENT(C2_FLAGS(ENUM_F, ENUM_F, ENUM_F, ENUM_F, IGNORE_F, IGNORE_F)) num_flags_C2 };
|
||||
|
||||
const int first_flag_enum_LP64 = 0;
|
||||
const int first_flag_enum_ARCH = first_flag_enum_LP64 + num_flags_LP64;
|
||||
@ -503,14 +497,12 @@ const int PRODUCT_KIND = JVMFlag::KIND_PRODUCT;
|
||||
const int PRODUCT_KIND_PD = JVMFlag::KIND_PRODUCT | JVMFlag::KIND_PLATFORM_DEPENDENT;
|
||||
const int DEVELOP_KIND = JVMFlag::KIND_DEVELOP;
|
||||
const int DEVELOP_KIND_PD = JVMFlag::KIND_DEVELOP | JVMFlag::KIND_PLATFORM_DEPENDENT;
|
||||
const int NOTPROD_KIND = JVMFlag::KIND_NOT_PRODUCT;
|
||||
|
||||
#define FLAG_TYPE(type) (JVMFlag::TYPE_ ## type)
|
||||
#define INITIALIZE_DEVELOP_FLAG( type, name, value, ...) JVMFlag(FLAG_MEMBER_ENUM(name), FLAG_TYPE(type), XSTR(name), (void*)&name, DEVELOP_KIND, __VA_ARGS__),
|
||||
#define INITIALIZE_DEVELOP_FLAG_PD(type, name, ...) JVMFlag(FLAG_MEMBER_ENUM(name), FLAG_TYPE(type), XSTR(name), (void*)&name, DEVELOP_KIND_PD, __VA_ARGS__),
|
||||
#define INITIALIZE_PRODUCT_FLAG( type, name, value, ...) JVMFlag(FLAG_MEMBER_ENUM(name), FLAG_TYPE(type), XSTR(name), (void*)&name, PRODUCT_KIND, __VA_ARGS__),
|
||||
#define INITIALIZE_PRODUCT_FLAG_PD(type, name, ...) JVMFlag(FLAG_MEMBER_ENUM(name), FLAG_TYPE(type), XSTR(name), (void*)&name, PRODUCT_KIND_PD, __VA_ARGS__),
|
||||
#define INITIALIZE_NOTPROD_FLAG( type, name, value, ...) JVMFlag(FLAG_MEMBER_ENUM(name), FLAG_TYPE(type), XSTR(name), (void*)&name, NOTPROD_KIND, __VA_ARGS__),
|
||||
|
||||
// Handy aliases to match the symbols used in the flag specification macros.
|
||||
const int DIAGNOSTIC = JVMFlag::KIND_DIAGNOSTIC;
|
||||
@ -522,7 +514,6 @@ const int EXPERIMENTAL = JVMFlag::KIND_EXPERIMENTAL;
|
||||
INITIALIZE_DEVELOP_FLAG_PD, \
|
||||
INITIALIZE_PRODUCT_FLAG, \
|
||||
INITIALIZE_PRODUCT_FLAG_PD, \
|
||||
INITIALIZE_NOTPROD_FLAG, \
|
||||
IGNORE_RANGE, \
|
||||
IGNORE_CONSTRAINT)
|
||||
|
||||
@ -559,7 +550,7 @@ JVMFlag* JVMFlag::find_flag(const char* name, size_t length, bool allow_locked,
|
||||
JVMFlag* flag = JVMFlagLookup::find(name, length);
|
||||
if (flag != nullptr) {
|
||||
// Found a matching entry.
|
||||
// Don't report notproduct and develop flags in product builds.
|
||||
// Don't report develop flags in product builds.
|
||||
if (flag->is_constant_in_binary()) {
|
||||
return (return_flag ? flag : nullptr);
|
||||
}
|
||||
@ -685,8 +676,7 @@ void JVMFlag::check_all_flag_declarations() {
|
||||
(flags & mask) == JVMFlag::KIND_EXPERIMENTAL,
|
||||
"%s can be declared with at most one of "
|
||||
"DIAGNOSTIC, MANAGEABLE or EXPERIMENTAL", current->_name);
|
||||
assert((flags & KIND_NOT_PRODUCT) == 0 &&
|
||||
(flags & KIND_DEVELOP) == 0,
|
||||
assert((flags & KIND_DEVELOP) == 0,
|
||||
"%s has an optional DIAGNOSTIC, MANAGEABLE or EXPERIMENTAL "
|
||||
"attribute; it must be declared as a product flag", current->_name);
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -63,14 +63,13 @@ public:
|
||||
KIND_MANAGEABLE = 1 << 5,
|
||||
KIND_DIAGNOSTIC = 1 << 6,
|
||||
KIND_EXPERIMENTAL = 1 << 7,
|
||||
KIND_NOT_PRODUCT = 1 << 8,
|
||||
KIND_DEVELOP = 1 << 9,
|
||||
KIND_PLATFORM_DEPENDENT = 1 << 10,
|
||||
KIND_C1 = 1 << 11,
|
||||
KIND_C2 = 1 << 12,
|
||||
KIND_ARCH = 1 << 13,
|
||||
KIND_LP64_PRODUCT = 1 << 14,
|
||||
KIND_JVMCI = 1 << 15,
|
||||
KIND_DEVELOP = 1 << 8,
|
||||
KIND_PLATFORM_DEPENDENT = 1 << 9,
|
||||
KIND_C1 = 1 << 10,
|
||||
KIND_C2 = 1 << 11,
|
||||
KIND_ARCH = 1 << 12,
|
||||
KIND_LP64_PRODUCT = 1 << 13,
|
||||
KIND_JVMCI = 1 << 14,
|
||||
|
||||
// Note the difference:
|
||||
// f->get_origin() == COMMAND_LINE
|
||||
@ -114,8 +113,7 @@ public:
|
||||
NONE = 0,
|
||||
DIAGNOSTIC_FLAG_BUT_LOCKED,
|
||||
EXPERIMENTAL_FLAG_BUT_LOCKED,
|
||||
DEVELOPER_FLAG_BUT_PRODUCT_BUILD,
|
||||
NOTPRODUCT_FLAG_BUT_PRODUCT_BUILD
|
||||
DEVELOPER_FLAG_BUT_PRODUCT_BUILD
|
||||
};
|
||||
|
||||
#define JVM_FLAG_NON_STRING_TYPES_DO(f) \
|
||||
@ -248,7 +246,6 @@ public:
|
||||
bool is_manageable() const { return (_flags & KIND_MANAGEABLE) != 0; }
|
||||
bool is_diagnostic() const { return (_flags & KIND_DIAGNOSTIC) != 0; }
|
||||
bool is_experimental() const { return (_flags & KIND_EXPERIMENTAL) != 0; }
|
||||
bool is_notproduct() const { return (_flags & KIND_NOT_PRODUCT) != 0; }
|
||||
bool is_develop() const { return (_flags & KIND_DEVELOP) != 0; }
|
||||
|
||||
bool is_constant_in_binary() const;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -107,7 +107,6 @@ constexpr JVMTypedFlagLimit<int> limit_dummy
|
||||
FLAG_LIMIT_DEFINE_DUMMY,
|
||||
FLAG_LIMIT_DEFINE,
|
||||
FLAG_LIMIT_DEFINE,
|
||||
FLAG_LIMIT_DEFINE_DUMMY,
|
||||
APPLY_FLAG_RANGE,
|
||||
APPLY_FLAG_CONSTRAINT)
|
||||
#else
|
||||
@ -115,7 +114,6 @@ constexpr JVMTypedFlagLimit<int> limit_dummy
|
||||
FLAG_LIMIT_DEFINE,
|
||||
FLAG_LIMIT_DEFINE,
|
||||
FLAG_LIMIT_DEFINE,
|
||||
FLAG_LIMIT_DEFINE,
|
||||
APPLY_FLAG_RANGE,
|
||||
APPLY_FLAG_CONSTRAINT)
|
||||
#endif
|
||||
@ -130,7 +128,6 @@ static constexpr const JVMFlagLimit* const flagLimitTable[1 + NUM_JVMFlagsEnum]
|
||||
FLAG_LIMIT_PTR_NONE,
|
||||
FLAG_LIMIT_PTR,
|
||||
FLAG_LIMIT_PTR,
|
||||
FLAG_LIMIT_PTR_NONE,
|
||||
APPLY_FLAG_RANGE,
|
||||
APPLY_FLAG_CONSTRAINT)
|
||||
#else
|
||||
@ -138,7 +135,6 @@ static constexpr const JVMFlagLimit* const flagLimitTable[1 + NUM_JVMFlagsEnum]
|
||||
FLAG_LIMIT_PTR,
|
||||
FLAG_LIMIT_PTR,
|
||||
FLAG_LIMIT_PTR,
|
||||
FLAG_LIMIT_PTR,
|
||||
APPLY_FLAG_RANGE,
|
||||
APPLY_FLAG_CONSTRAINT)
|
||||
#endif
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2024, 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
|
||||
@ -46,7 +46,6 @@ constexpr JVMFlagLookup::JVMFlagLookup() : _buckets(), _table(), _hashes() {
|
||||
DO_FLAG,
|
||||
DO_FLAG,
|
||||
DO_FLAG,
|
||||
DO_FLAG,
|
||||
IGNORE_RANGE,
|
||||
IGNORE_CONSTRAINT)
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -31,17 +31,14 @@
|
||||
#ifdef PRODUCT
|
||||
#define MATERIALIZE_DEVELOPER_FLAG(type, name, value, ...)
|
||||
#define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, ...)
|
||||
#define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, ...)
|
||||
#else
|
||||
#define MATERIALIZE_DEVELOPER_FLAG(type, name, value, ...) type name = value;
|
||||
#define MATERIALIZE_PD_DEVELOPER_FLAG(type, name, ...) type name = pd_##name;
|
||||
#define MATERIALIZE_NOTPRODUCT_FLAG(type, name, value, ...) type name = value;
|
||||
#endif // PRODUCT
|
||||
|
||||
ALL_FLAGS(MATERIALIZE_DEVELOPER_FLAG,
|
||||
MATERIALIZE_PD_DEVELOPER_FLAG,
|
||||
MATERIALIZE_PRODUCT_FLAG,
|
||||
MATERIALIZE_PD_PRODUCT_FLAG,
|
||||
MATERIALIZE_NOTPRODUCT_FLAG,
|
||||
IGNORE_RANGE,
|
||||
IGNORE_CONSTRAINT)
|
||||
|
||||
@ -36,7 +36,6 @@
|
||||
|
||||
// develop flags are settable / visible only during development and are constant in the PRODUCT version
|
||||
// product flags are always settable / visible
|
||||
// notproduct flags are settable / visible only during development and are not declared in the PRODUCT version
|
||||
// develop_pd/product_pd flags are the same as develop/product, except that their default values
|
||||
// are specified in platform-dependent header files.
|
||||
|
||||
@ -118,7 +117,6 @@ const size_t minimumSymbolTableSize = 1024;
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
@ -142,7 +140,6 @@ const size_t minimumSymbolTableSize = 1024;
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint)
|
||||
const bool UseCompressedOops = false;
|
||||
@ -155,11 +152,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop_pd, \
|
||||
product, \
|
||||
product_pd, \
|
||||
notproduct, \
|
||||
range, \
|
||||
constraint) \
|
||||
\
|
||||
notproduct(bool, CheckCompressedOops, true, \
|
||||
develop(bool, CheckCompressedOops, true, \
|
||||
"Generate checks in encoding/decoding code in debug VM") \
|
||||
\
|
||||
product(uintx, HeapSearchSteps, 3 PPC64_ONLY(+17), \
|
||||
@ -282,10 +278,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, TraceDerivedPointers, false, \
|
||||
"Trace traversal of derived pointers on stack") \
|
||||
\
|
||||
notproduct(bool, TraceCodeBlobStacks, false, \
|
||||
develop(bool, TraceCodeBlobStacks, false, \
|
||||
"Trace stack-walk of codeblobs") \
|
||||
\
|
||||
notproduct(bool, PrintRewrites, false, \
|
||||
develop(bool, PrintRewrites, false, \
|
||||
"Print methods that are being rewritten") \
|
||||
\
|
||||
product(bool, UseInlineCaches, true, \
|
||||
@ -384,16 +380,16 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, DeoptimizeALot, false, \
|
||||
"Deoptimize at every exit from the runtime system") \
|
||||
\
|
||||
notproduct(ccstrlist, DeoptimizeOnlyAt, "", \
|
||||
develop(ccstrlist, DeoptimizeOnlyAt, "", \
|
||||
"A comma separated list of bcis to deoptimize at") \
|
||||
\
|
||||
develop(bool, DeoptimizeRandom, false, \
|
||||
"Deoptimize random frames on random exit from the runtime system")\
|
||||
\
|
||||
notproduct(bool, ZombieALot, false, \
|
||||
develop(bool, ZombieALot, false, \
|
||||
"Create non-entrant nmethods at exit from the runtime system") \
|
||||
\
|
||||
notproduct(bool, WalkStackALot, false, \
|
||||
develop(bool, WalkStackALot, false, \
|
||||
"Trace stack (no print) at every exit from the runtime system") \
|
||||
\
|
||||
develop(bool, DeoptimizeObjectsALot, false, \
|
||||
@ -419,7 +415,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
"is enabled." ) \
|
||||
range(0, max_jint) \
|
||||
\
|
||||
notproduct(bool, VerifyLastFrame, false, \
|
||||
develop(bool, VerifyLastFrame, false, \
|
||||
"Verify oops on last frame on entry to VM") \
|
||||
\
|
||||
product(bool, SafepointTimeout, false, \
|
||||
@ -462,16 +458,16 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, TraceJavaAssertions, false, \
|
||||
"Trace java language assertions") \
|
||||
\
|
||||
notproduct(bool, VerifyCodeCache, false, \
|
||||
develop(bool, VerifyCodeCache, false, \
|
||||
"Verify code cache on memory allocation/deallocation") \
|
||||
\
|
||||
develop(bool, ZapResourceArea, trueInDebug, \
|
||||
"Zap freed resource/arena space") \
|
||||
\
|
||||
notproduct(bool, ZapVMHandleArea, trueInDebug, \
|
||||
develop(bool, ZapVMHandleArea, trueInDebug, \
|
||||
"Zap freed VM handle space") \
|
||||
\
|
||||
notproduct(bool, ZapStackSegments, trueInDebug, \
|
||||
develop(bool, ZapStackSegments, trueInDebug, \
|
||||
"Zap allocated/freed stack segments") \
|
||||
\
|
||||
develop(bool, ZapUnusedHeapArea, trueInDebug, \
|
||||
@ -618,7 +614,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(ccstr, PrintAssemblyOptions, nullptr, DIAGNOSTIC, \
|
||||
"Print options string passed to disassembler.so") \
|
||||
\
|
||||
notproduct(bool, PrintNMethodStatistics, false, \
|
||||
develop(bool, PrintNMethodStatistics, false, \
|
||||
"Print a summary statistic for the generated nmethods") \
|
||||
\
|
||||
product(bool, PrintNMethods, false, DIAGNOSTIC, \
|
||||
@ -695,10 +691,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(bool, ClassUnloadingWithConcurrentMark, true, \
|
||||
"Do unloading of classes with a concurrent marking cycle") \
|
||||
\
|
||||
notproduct(bool, PrintSystemDictionaryAtExit, false, \
|
||||
develop(bool, PrintSystemDictionaryAtExit, false, \
|
||||
"Print the system dictionary at exit") \
|
||||
\
|
||||
notproduct(bool, PrintClassLoaderDataGraphAtExit, false, \
|
||||
develop(bool, PrintClassLoaderDataGraphAtExit, false, \
|
||||
"Print the class loader data graph at exit") \
|
||||
\
|
||||
product(bool, AllowParallelDefineClass, false, \
|
||||
@ -812,7 +808,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(bool, UseXMMForArrayCopy, false, \
|
||||
"Use SSE2 MOVQ instruction for Arraycopy") \
|
||||
\
|
||||
notproduct(bool, PrintFieldLayout, false, \
|
||||
develop(bool, PrintFieldLayout, false, \
|
||||
"Print field layout for each class") \
|
||||
\
|
||||
/* Need to limit the extent of the padding to reasonable size. */\
|
||||
@ -876,7 +872,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, TraceBytecodes, false, \
|
||||
"Trace bytecode execution") \
|
||||
\
|
||||
notproduct(bool, TraceInvocationCounterOverflow, false, \
|
||||
develop(bool, TraceInvocationCounterOverflow, false, \
|
||||
"Trace method invocation counter overflow") \
|
||||
\
|
||||
develop(bool, VerifyDependencies, trueInDebug, \
|
||||
@ -1020,7 +1016,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(bool, PrintFlagsFinal, false, \
|
||||
"Print all VM flags after argument and ergonomic processing") \
|
||||
\
|
||||
notproduct(bool, PrintFlagsWithComments, false, \
|
||||
develop(bool, PrintFlagsWithComments, false, \
|
||||
"Print all VM flags with default values and descriptions and " \
|
||||
"exit") \
|
||||
\
|
||||
@ -1070,7 +1066,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(bool, VerifyStringTableAtExit, false, DIAGNOSTIC, \
|
||||
"verify StringTable contents at exit") \
|
||||
\
|
||||
notproduct(bool, PrintSymbolTableSizeHistogram, false, \
|
||||
develop(bool, PrintSymbolTableSizeHistogram, false, \
|
||||
"print histogram of the symbol table") \
|
||||
\
|
||||
product(ccstr, AbortVMOnException, nullptr, DIAGNOSTIC, \
|
||||
@ -1096,10 +1092,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, TraceLivenessGen, false, \
|
||||
"Trace the generation of liveness analysis information") \
|
||||
\
|
||||
notproduct(bool, TraceLivenessQuery, false, \
|
||||
develop(bool, TraceLivenessQuery, false, \
|
||||
"Trace queries of liveness analysis information") \
|
||||
\
|
||||
notproduct(bool, CollectIndexSetStatistics, false, \
|
||||
develop(bool, CollectIndexSetStatistics, false, \
|
||||
"Collect information about IndexSets") \
|
||||
\
|
||||
develop(int, FastAllocateSizeLimit, 128*K, \
|
||||
@ -1129,7 +1125,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, CountCompiledCalls, false, \
|
||||
"Count method invocations") \
|
||||
\
|
||||
notproduct(bool, ICMissHistogram, false, \
|
||||
develop(bool, ICMissHistogram, false, \
|
||||
"Produce histogram of IC misses") \
|
||||
\
|
||||
/* interpreter */ \
|
||||
@ -1155,7 +1151,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
"Use on stack replacement, calls runtime if invoc. counter " \
|
||||
"overflows in loop") \
|
||||
\
|
||||
notproduct(bool, TraceOnStackReplacement, false, \
|
||||
develop(bool, TraceOnStackReplacement, false, \
|
||||
"Trace on stack replacement") \
|
||||
\
|
||||
product_pd(bool, PreferInterpreterNativeStubs, \
|
||||
@ -1213,7 +1209,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(bool, VerifyDataPointer, trueInDebug, \
|
||||
"Verify the method data pointer during interpreter profiling") \
|
||||
\
|
||||
notproduct(bool, CrashGCForDumpingJavaThread, false, \
|
||||
develop(bool, CrashGCForDumpingJavaThread, false, \
|
||||
"Manually make GC thread crash then dump java stack trace; " \
|
||||
"Test only") \
|
||||
\
|
||||
@ -1309,10 +1305,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
"max number of compiled code units to print in error log") \
|
||||
range(0, VMError::max_error_log_print_code) \
|
||||
\
|
||||
notproduct(int, MaxElementPrintSize, 256, \
|
||||
develop(int, MaxElementPrintSize, 256, \
|
||||
"maximum number of elements to print") \
|
||||
\
|
||||
notproduct(intx, MaxSubklassPrintSize, 4, \
|
||||
develop(intx, MaxSubklassPrintSize, 4, \
|
||||
"maximum number of subklasses to print when printing klass") \
|
||||
\
|
||||
develop(intx, MaxForceInlineLevel, 100, \
|
||||
@ -1326,10 +1322,10 @@ const int ObjectAlignmentInBytes = 8;
|
||||
develop(intx, DontYieldALotInterval, 10, \
|
||||
"Interval between which yields will be dropped (milliseconds)") \
|
||||
\
|
||||
notproduct(intx, DeoptimizeALotInterval, 5, \
|
||||
develop(intx, DeoptimizeALotInterval, 5, \
|
||||
"Number of exits until DeoptimizeALot kicks in") \
|
||||
\
|
||||
notproduct(intx, ZombieALotInterval, 5, \
|
||||
develop(intx, ZombieALotInterval, 5, \
|
||||
"Number of exits until ZombieALot kicks in") \
|
||||
\
|
||||
product(ccstr, MallocLimit, nullptr, DIAGNOSTIC, \
|
||||
@ -1562,7 +1558,7 @@ const int ObjectAlignmentInBytes = 8;
|
||||
"Minimum number of segments in a code cache block") \
|
||||
range(1, 100) \
|
||||
\
|
||||
notproduct(bool, ExitOnFullCodeCache, false, \
|
||||
develop(bool, ExitOnFullCodeCache, false, \
|
||||
"Exit the VM if we fill the code cache") \
|
||||
\
|
||||
product(bool, UseCodeCacheFlushing, true, \
|
||||
@ -1711,18 +1707,18 @@ const int ObjectAlignmentInBytes = 8;
|
||||
product(bool, UseNewCode3, false, DIAGNOSTIC, \
|
||||
"Testing Only: Use the new version while testing") \
|
||||
\
|
||||
notproduct(bool, UseDebuggerErgo, false, \
|
||||
develop(bool, UseDebuggerErgo, false, \
|
||||
"Debugging Only: Adjust the VM to be more debugger-friendly. " \
|
||||
"Turns on the other UseDebuggerErgo* flags") \
|
||||
\
|
||||
notproduct(bool, UseDebuggerErgo1, false, \
|
||||
develop(bool, UseDebuggerErgo1, false, \
|
||||
"Debugging Only: Enable workarounds for debugger induced " \
|
||||
"os::processor_id() >= os::processor_count() problems") \
|
||||
\
|
||||
notproduct(bool, UseDebuggerErgo2, false, \
|
||||
develop(bool, UseDebuggerErgo2, false, \
|
||||
"Debugging Only: Limit the number of spawned JVM threads") \
|
||||
\
|
||||
notproduct(bool, EnableJVMTIStackDepthAsserts, true, \
|
||||
develop(bool, EnableJVMTIStackDepthAsserts, true, \
|
||||
"Enable JVMTI asserts related to stack depth checks") \
|
||||
\
|
||||
/* flags for performance data collection */ \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2024, 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
|
||||
@ -43,7 +43,6 @@ enum JVMFlagsEnum : int {
|
||||
DEFINE_FLAG_MEMBER_ENUM,
|
||||
DEFINE_FLAG_MEMBER_ENUM,
|
||||
DEFINE_FLAG_MEMBER_ENUM,
|
||||
DEFINE_FLAG_MEMBER_ENUM,
|
||||
IGNORE_RANGE,
|
||||
IGNORE_CONSTRAINT)
|
||||
NUM_JVMFlagsEnum
|
||||
@ -64,7 +63,6 @@ ALL_FLAGS(IGNORE_FLAG, // develop : declared as const
|
||||
IGNORE_FLAG, // develop-pd : declared as const
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
IGNORE_FLAG, // not-product : is not declared
|
||||
IGNORE_RANGE,
|
||||
IGNORE_CONSTRAINT)
|
||||
#else
|
||||
@ -72,7 +70,6 @@ ALL_FLAGS(DEFINE_FLAG_MEMBER_SETTER,
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
DEFINE_FLAG_MEMBER_SETTER,
|
||||
IGNORE_RANGE,
|
||||
IGNORE_CONSTRAINT)
|
||||
#endif
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2024, 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
|
||||
@ -74,11 +74,9 @@
|
||||
#ifdef PRODUCT
|
||||
#define DECLARE_DEVELOPER_FLAG(type, name, value, ...) const type name = value;
|
||||
#define DECLARE_PD_DEVELOPER_FLAG(type, name, ...) const type name = pd_##name;
|
||||
#define DECLARE_NOTPRODUCT_FLAG(type, name, value, ...) const type name = value;
|
||||
#else
|
||||
#define DECLARE_DEVELOPER_FLAG(type, name, value, ...) extern "C" type name;
|
||||
#define DECLARE_PD_DEVELOPER_FLAG(type, name, ...) extern "C" type name;
|
||||
#define DECLARE_NOTPRODUCT_FLAG(type, name, value, ...) extern "C" type name;
|
||||
#endif // PRODUCT
|
||||
|
||||
#define DECLARE_FLAGS(flag_group) \
|
||||
@ -86,14 +84,12 @@
|
||||
DECLARE_PD_DEVELOPER_FLAG, \
|
||||
DECLARE_PRODUCT_FLAG, \
|
||||
DECLARE_PD_PRODUCT_FLAG, \
|
||||
DECLARE_NOTPRODUCT_FLAG, \
|
||||
IGNORE_RANGE, \
|
||||
IGNORE_CONSTRAINT)
|
||||
|
||||
#define DECLARE_ARCH_FLAGS(flag_group) \
|
||||
flag_group(DECLARE_DEVELOPER_FLAG, \
|
||||
DECLARE_PRODUCT_FLAG, \
|
||||
DECLARE_NOTPRODUCT_FLAG, \
|
||||
IGNORE_RANGE, \
|
||||
IGNORE_CONSTRAINT)
|
||||
|
||||
|
||||
@ -1433,7 +1433,7 @@ JVM_ENTRY(jobjectArray, jmm_GetVMGlobalNames(JNIEnv *env))
|
||||
int num_entries = 0;
|
||||
for (int i = 0; i < nFlags; i++) {
|
||||
JVMFlag* flag = &JVMFlag::flags[i];
|
||||
// Exclude notproduct and develop flags in product builds.
|
||||
// Exclude develop flags in product builds.
|
||||
if (flag->is_constant_in_binary()) {
|
||||
continue;
|
||||
}
|
||||
@ -1590,7 +1590,7 @@ JVM_ENTRY(jint, jmm_GetVMGlobals(JNIEnv *env,
|
||||
int num_entries = 0;
|
||||
for (int i = 0; i < nFlags && num_entries < count; i++) {
|
||||
JVMFlag* flag = &JVMFlag::flags[i];
|
||||
// Exclude notproduct and develop flags in product builds.
|
||||
// Exclude develop flags in product builds.
|
||||
if (flag->is_constant_in_binary()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2024, 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
|
||||
@ -76,7 +76,7 @@ public class GetFlagValueTest {
|
||||
|
||||
final WhiteBox wb = WhiteBox.getWhiteBox();
|
||||
|
||||
// Line example: ccstr PrintIdealGraphAddress = 127.0.0.1 {C2 notproduct} {default}
|
||||
// Line example: ccstr PrintIdealGraphAddress = 127.0.0.1 {C2 develop} {default}
|
||||
Pattern flagLine = Pattern.compile("(\\w+)\\s+(\\w+)\\s+:?= (?:(.+))\\{[^}]+\\}\\s+\\{[^}]+\\}");
|
||||
for (String line : lines) {
|
||||
if (line.indexOf('=') != -1) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2024, 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
|
||||
@ -75,60 +75,52 @@ public class IgnoreUnrecognizedVMOptions {
|
||||
runJavaAndCheckExitValue(false, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:StackRedPages=0", "-version");
|
||||
|
||||
/*
|
||||
#1.3 develop & notproduct flag on debug VM:
|
||||
develop & !product_build notproduct & !product_build
|
||||
-XX:+DeoptimizeALot -XX:+VerifyCodeCache
|
||||
-IgnoreUnrecognizedVMOptions OK OK
|
||||
+IgnoreUnrecognizedVMOptions OK OK
|
||||
#1.3 develop flag on debug VM:
|
||||
develop & !product_build
|
||||
-XX:+DeoptimizeALot
|
||||
-IgnoreUnrecognizedVMOptions OK
|
||||
+IgnoreUnrecognizedVMOptions OK
|
||||
*/
|
||||
if (!product) {
|
||||
runJavaAndCheckExitValue(true, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:+DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:+VerifyCodeCache", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyCodeCache", "-version");
|
||||
}
|
||||
|
||||
/*
|
||||
#1.4 develop & notproduct flag on product VM:
|
||||
develop & !product_build notproduct & product_build
|
||||
-XX:+DeoptimizeALot -XX:+VerifyCodeCache
|
||||
-IgnoreUnrecognizedVMOptions ERR ERR
|
||||
+IgnoreUnrecognizedVMOptions OK OK
|
||||
#1.4 develop flag on product VM:
|
||||
develop & product_build
|
||||
-XX:+DeoptimizeALot
|
||||
-IgnoreUnrecognizedVMOptions ERR
|
||||
+IgnoreUnrecognizedVMOptions OK
|
||||
*/
|
||||
if (product) {
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:+DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:+VerifyCodeCache", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyCodeCache", "-version");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
#1.5 malformed develop & notproduct flag on debug VM:
|
||||
develop & !product_build notproduct & !product_build
|
||||
-XX:DeoptimizeALot -XX:VerifyCodeCache
|
||||
-IgnoreUnrecognizedVMOptions ERR ERR
|
||||
+IgnoreUnrecognizedVMOptions ERR ERR
|
||||
#1.5 malformed develop flag on debug VM:
|
||||
develop & !product_build
|
||||
-XX:DeoptimizeALot
|
||||
-IgnoreUnrecognizedVMOptions ERR
|
||||
+IgnoreUnrecognizedVMOptions ERR
|
||||
*/
|
||||
if (!product) {
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:VerifyCodeCache", "-version");
|
||||
runJavaAndCheckExitValue(false, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(false, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:VerifyCodeCache", "-version");
|
||||
}
|
||||
|
||||
/*
|
||||
#1.6 malformed develop & notproduct flag on product VM:
|
||||
develop & !product_build notproduct & product_build
|
||||
-XX:DeoptimizeALot -XX:VerifyCodeCache
|
||||
-IgnoreUnrecognizedVMOptions ERR ERR
|
||||
+IgnoreUnrecognizedVMOptions OK OK
|
||||
#1.6 malformed develop flag on product VM:
|
||||
develop & !product_build
|
||||
-XX:DeoptimizeALot
|
||||
-IgnoreUnrecognizedVMOptions ERR
|
||||
+IgnoreUnrecognizedVMOptions OK
|
||||
*/
|
||||
if (product) {
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(false, "-XX:-IgnoreUnrecognizedVMOptions", "-XX:VerifyCodeCache", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:DeoptimizeALot", "-version");
|
||||
runJavaAndCheckExitValue(true, "-XX:+IgnoreUnrecognizedVMOptions", "-XX:VerifyCodeCache", "-version");
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2024, 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
|
||||
@ -210,7 +210,7 @@ public class TestOptionsWithRanges {
|
||||
public static void main(String[] args) throws Exception {
|
||||
int failedTests;
|
||||
|
||||
allOptionsAsMap = JVMOptionsUtils.getOptionsWithRangeAsMap(origin -> (!(origin.contains("develop") || origin.contains("notproduct"))));
|
||||
allOptionsAsMap = JVMOptionsUtils.getOptionsWithRangeAsMap(origin -> (!origin.contains("develop")));
|
||||
|
||||
/*
|
||||
* Exclude VMThreadStackSize from max range testing, because it will always exit with code 1,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, 2024, 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
|
||||
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* @test
|
||||
* @bug 8027314
|
||||
* @summary Warn if diagnostic or experimental vm option is used and -XX:+UnlockDiagnosticVMOptions or -XX:+UnlockExperimentalVMOptions, respectively, isn't specified. Warn if develop or notproduct vm option is used with product version of VM.
|
||||
* @summary Warn if diagnostic or experimental vm option is used and -XX:+UnlockDiagnosticVMOptions or -XX:+UnlockExperimentalVMOptions, respectively, isn't specified. Warn if develop vm option is used with product version of VM.
|
||||
* @requires vm.flagless
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
@ -44,7 +44,7 @@ public class VMOptionWarning {
|
||||
output.shouldContain("Error: VM option 'AlwaysSafeConstructors' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.");
|
||||
|
||||
if (Platform.isDebugBuild()) {
|
||||
System.out.println("Skip the rest of the tests on debug builds since diagnostic, develop, and notproduct options are available on debug builds.");
|
||||
System.out.println("Skip the rest of the tests on debug builds since diagnostic, and develop options are available on debug builds.");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -57,10 +57,5 @@ public class VMOptionWarning {
|
||||
output = new OutputAnalyzer(pb.start());
|
||||
output.shouldNotHaveExitValue(0);
|
||||
output.shouldContain("Error: VM option 'VerifyStack' is develop and is available only in debug version of VM.");
|
||||
|
||||
pb = ProcessTools.createLimitedTestJavaProcessBuilder("-XX:+CheckCompressedOops", "-version");
|
||||
output = new OutputAnalyzer(pb.start());
|
||||
output.shouldNotHaveExitValue(0);
|
||||
output.shouldContain("Error: VM option 'CheckCompressedOops' is notproduct and is available only in debug version of VM.");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user