8236736: Change notproduct JVM flags to develop flags

Reviewed-by: iklam, kvn, kbarrett
This commit is contained in:
Coleen Phillimore 2024-04-03 12:21:11 +00:00
parent 80c54b484f
commit bea493bcb8
43 changed files with 180 additions and 281 deletions

View File

@ -80,7 +80,6 @@ define_pd_global(intx, InlineSmallCode, 1000);
#define ARCH_FLAGS(develop, \
product, \
notproduct, \
range, \
constraint) \
\

View File

@ -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)

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -34,7 +34,6 @@
develop_pd, \
product, \
product_pd, \
notproduct, \
range, \
constraint) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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, \

View File

@ -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 */ \

View File

@ -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, \

View File

@ -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) \
\

View File

@ -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)

View File

@ -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, \

View File

@ -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)

View File

@ -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") \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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) \
\

View File

@ -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)

View File

@ -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) \
\

View File

@ -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;

View File

@ -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) \
\

View File

@ -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, \

View File

@ -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

View File

@ -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)

View File

@ -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) \
\

View File

@ -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);
}

View File

@ -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;

View File

@ -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

View File

@ -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)
}

View File

@ -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)

View File

@ -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 */ \

View File

@ -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

View File

@ -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)

View File

@ -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;
}

View File

@ -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) {

View File

@ -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");
}
/*

View File

@ -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,

View File

@ -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.");
}
}