<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (c) 2006, 2022 IBM Corp. and others This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution and is available at https://www.eclipse.org/legal/epl-2.0/ or the Apache License, Version 2.0 which accompanies this distribution and is available at https://www.apache.org/licenses/LICENSE-2.0. This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception [1] and GNU General Public License, version 2 with the OpenJDK Assembly Exception [2]. [1] https://www.gnu.org/software/classpath/license.html [2] http://openjdk.java.net/legal/assembly-exception.html SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception --> <flags xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ibm.com/j9/builder/flags" xsi:schemaLocation="http://www.ibm.com/j9/builder/flags flags-v1.xsd"> <flag id="arch_aarch64"> <description>This spec targets AArch64 processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_arm"/> <preclude flag="arch_power"/> <preclude flag="arch_riscv"/> <preclude flag="arch_s390"/> <preclude flag="arch_x86"/> </precludes> </flag> <flag id="arch_arm"> <description>This spec targets ARM processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_aarch64"/> <preclude flag="arch_power"/> <preclude flag="arch_riscv"/> <preclude flag="arch_s390"/> <preclude flag="arch_x86"/> </precludes> </flag> <flag id="arch_power"> <description>This spec targets PPC processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_aarch64"/> <preclude flag="arch_arm"/> <preclude flag="arch_riscv"/> <preclude flag="arch_s390"/> <preclude flag="arch_x86"/> </precludes> </flag> <flag id="arch_riscv"> <description>This spec targets RISC-V processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_aarch64"/> <preclude flag="arch_arm"/> <preclude flag="arch_power"/> <preclude flag="arch_s390"/> <preclude flag="arch_x86"/> </precludes> </flag> <flag id="arch_s390"> <description>This spec targets S390 processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_aarch64"/> <preclude flag="arch_arm"/> <preclude flag="arch_power"/> <preclude flag="arch_riscv"/> <preclude flag="arch_x86"/> </precludes> </flag> <flag id="arch_x86"> <description>This spec targets x86 processors.</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="arch_aarch64"/> <preclude flag="arch_arm"/> <preclude flag="arch_power"/> <preclude flag="arch_riscv"/> <preclude flag="arch_s390"/> </precludes> </flag> <flag id="build_SE6_package"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="build_VS12AndHigher"> <description>Windows compiler Visual Studio 12 (2013) or higher will be used.</description> <ifRemoved>The old Windows compiler will be used which is Visual Studio 10.</ifRemoved> </flag> <flag id="build_autobuild"> <description>BuildSpec represents a testing configuration. Autobuilds enabled.</description> <ifRemoved>Autobuilds disabled.</ifRemoved> </flag> <flag id="build_cmake"> <description>Build components using CMake whenever possible</description> <ifRemoved>UMA will be used to build all components</ifRemoved> </flag> <flag id="build_dropToHursley"> <description>Source will be zipped and sent to Hursley.</description> <ifRemoved>Drop will not be zipped and sent to Hursley.</ifRemoved> </flag> <flag id="build_dropToPhoenix"> <description>Source will be zipped and sent to Phoenix.</description> <ifRemoved>Drop will not be zipped and sent to Phoenix.</ifRemoved> </flag> <flag id="build_dropToToronto"> <description>Source will be zipped and sent to Toronto (Host: Iguana).</description> <ifRemoved>Drop will not be zipped and sent to Toronto (Host: Iguana).</ifRemoved> </flag> <flag id="build_fips"> <description>BuildSpec represents a FIPS configuration.</description> <ifRemoved>BuildSpec represents a non-FIPS configuration.</ifRemoved> </flag> <flag id="build_gcContinuous"> <description>This spec will be part of the GC continuous build.</description> <ifRemoved>This spec will not be built continuously.</ifRemoved> </flag> <flag id="build_j2me"> <description>BuildSpec represents a J2ME configuration.</description> <ifRemoved>BuildSpec represents a non-J2ME configuration.</ifRemoved> </flag> <flag id="build_j2se"> <description>BuildSpec represents a J2SE configuration.</description> <ifRemoved>BuildSpec represents a non-J2SE configuration.</ifRemoved> </flag> <flag id="build_j9vmDoc"> <description>Create J9 VM Documentation to be used as part of Eclipse InfoCenter.</description> <ifRemoved>Generation of J9 Documentation is Enabled.</ifRemoved> </flag> <flag id="build_java5"> <description>BuildSpec represents a Java 5x configuration.</description> <ifRemoved>BuildSpec represents a non-Java 5x configuration.</ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="build_java6"> <description>BuildSpec represents a Java 6x configuration.</description> <ifRemoved>BuildSpec represents a non-Java 6x configuration.</ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="build_java60_26"> <description>BuildSpec represents a Java 6x configuration with J9VM 2.6.</description> <ifRemoved>BuildSpec represents a non-Java 6x configuration with J9VM 2.6.</ifRemoved> </flag> <flag id="build_java6proxy"> <description>Determines if Java 6 vm-proxy builds will be created.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java7"> <description>BuildSpec represents a Java 7x configuration.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java70_27"> <description>BuildSpec represents a Java 7x configuration with J9VM 2.7.</description> <ifRemoved>BuildSpec represents a non-Java 7x configuration with J9VM 2.7.</ifRemoved> </flag> <flag id="build_java7basic"> <description>Determines if a basic (IBM recompiled Sun code plus fixes) build is required.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java7raw"> <description>Determines if a raw (Sun-binary) build is required.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java8"> <description>BuildSpec represents a Java 8x configuration.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java8raw"> <description>Determines if a raw (Sun-binary) build is required.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_java9"> <description>BuildSpec represents a Java 9x configuration.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_openj9"> <description>Buildspec compiles sources with openjdk.</description> <ifRemoved>Openj9 clone,make jobs longer run on this buildspec.</ifRemoved> </flag> <flag id="build_openj9JDK8"> <description>Buildspec compiles sources with openjdk-jdk8.</description> <ifRemoved>OpenJ9 compile job, sanity and extended tests no longer run on this buildspec.</ifRemoved> </flag> <flag id="build_ouncemake"> <description>Buildspec compiles source using ouncemake for appscan.</description> <ifRemoved>Ouncemake compile jobs will no longer run on this buildspec.</ifRemoved> </flag> <flag id="build_product"> <description>BuildSpec represents a shipping product.</description> <ifRemoved>BuildSpec represents a non-shipping configuration.</ifRemoved> <requires> <require flag="build_autobuild"/> </requires> </flag> <flag id="build_realtime"> <description>BuildSpec represents a Realtime Java configuration.</description> <ifRemoved>BuildSpec represents a non-Realtime Java configuration.</ifRemoved> </flag> <flag id="build_stage_ottawa_vmlab"> <description>Controls staging of builds on Ottawa Lab NFS server.</description> <ifRemoved>No staging at Ottawa VM Lab.</ifRemoved> </flag> <flag id="build_stage_toronto_lab"> <description>Controls staging of builds on Ottawa Lab NFS server.</description> <ifRemoved></ifRemoved> </flag> <flag id="build_uma"> <description>UMA will be used to repackage the source tree.</description> <ifRemoved>UMA repackaging of source disabled.</ifRemoved> </flag> <flag id="build_vmContinuous"> <description>This spec will be part of the VM continuous build.</description> <ifRemoved>This spec will not be built continuously.</ifRemoved> </flag> <flag id="compiler_promotion"> <description>for silo dancing between VM/GC to integrate compiling warning fix for Java 8 new GCC level 4.4.6</description> <ifRemoved></ifRemoved> </flag> <flag id="danger_memleaksBroken"> <description>Indicates that the memleaks test has been excluded, as a result the system may be leaking and repeated calls to CreateJavaVM()//DestroyJavaVM() may run out of memory.</description> <ifRemoved></ifRemoved> </flag> <flag id="env_advanceToolchain"> <description>Controls if this platform builds using the advance toolchain.</description> <ifRemoved>No advance toolchain support</ifRemoved> </flag> <flag id="env_callViaTable"> <description>Controls if C calls from builder must be made via a table.</description> <ifRemoved>Builder calls C as usual.</ifRemoved> <precludes> <preclude flag="env_sharedLibsUseGlobalTable"/> </precludes> </flag> <flag id="env_crossbuild"> <description>Use toolchain for cross build.</description> <ifRemoved>Build uses native build environment.</ifRemoved> </flag> <flag id="env_data64"> <description>Default register width is 64-bits.</description> <ifRemoved>Default register width is 32-bits.</ifRemoved> </flag> <flag id="env_dlpar"> <description>Controls if dynamic logical partitioning is enabled.</description> <ifRemoved>Dynamic logical partitioning is not available.</ifRemoved> </flag> <flag id="env_gcc"> <description>Forces this platform to build with GCC.</description> <ifRemoved>Use default compiler</ifRemoved> </flag> <flag id="env_hasFPU"> <description>Target machine has a hardware (or emulated) FPU.</description> <ifRemoved>Target machine uses software floating-point.</ifRemoved> </flag> <flag id="env_littleEndian"> <description>Target machine is little-endian.</description> <ifRemoved>Target machine is big-endian.</ifRemoved> </flag> <flag id="env_sharedLibsCalleeGlobalTableSetup"> <description>Controls if GOT/TOC is set up by the callee.</description> <ifRemoved>Global table is set up by the caller.</ifRemoved> </flag> <flag id="env_sharedLibsUseGlobalTable"> <description>Controls if shared library implementation relies on runtime table references.</description> <ifRemoved>No runtime table references required</ifRemoved> <precludes> <preclude flag="env_callViaTable"/> </precludes> </flag> <flag id="env_sse2SupportDetection"> <description>Used to determine a spec needs to check if the CPU and OS support SSE2. Currently only available on linux_x86 and win_x96 32 bit builds.</description> <ifRemoved>VM may attempt to run instructions not supported by the CPU/OS</ifRemoved> <precludes> <preclude flag="env_data64"/> </precludes> </flag> <flag id="env_zTPF"> <description>Used to determine is the platform is zTPF.</description> <ifRemoved>Assembler cannot be generated for the zTPF platform</ifRemoved> <requires> <require flag="env_data64"/> </requires> </flag> <flag id="gc_adaptiveTenuring"> <description>The scavenger will adjust the tenure age based on objects remaining in allocate space</description> <ifRemoved>Tenure age of the scavenger is constant</ifRemoved> <requires> <require flag="gc_generational"/> </requires> </flag> <flag id="gc_alignObjects"> <description>Align all objects to 8 byte boundaries</description> <ifRemoved>Do not guarantee alignment for objects</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> <precludes> <preclude flag="env_data64"/> </precludes> </flag> <flag id="gc_allocationTax"> <description>Enable allocation tax capabilities</description> <ifRemoved>DISABLE allocation tax capabilities</ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_modronStandard"/> </requires> </flag> <flag id="gc_alwaysCallObjectAccessBarrier"> <description>Always call the out-of-line C access barrier from the VM</description> <ifRemoved>Common case of access barrier will be inlined</ifRemoved> <requires> <require flag="gc_objectAccessBarrier"/> </requires> </flag> <flag id="gc_alwaysCallWriteBarrier"> <description>Always call the write barrier from the VM without checks</description> <ifRemoved>Short circuit checks will be made in VM before write barrier call</ifRemoved> </flag> <flag id="gc_batchClearTLH"> <description>Zero any TLH allocated</description> <ifRemoved>Do not initial memory allocated as a TLH</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_classesOnHeap"> <description>Enable classes on the heap</description> <ifRemoved>UNSUPPORTED: disable classes on the heap</ifRemoved> </flag> <flag id="gc_combinationSpec"> <description>Set on specs which implement LIR 16325: reduce memory footprint by combining multiple sidecars into the same set of libraries.</description> <ifRemoved></ifRemoved> <requires> <require flag="gc_heapCardTable"/> <require flag="gc_modronStandard"/> <require flag="gc_realtime"/> </requires> </flag> <flag id="gc_enableDoubleMap"> <description>Set on double map. Allows LINUX systems to double map arrays that are stored as arraylets. When enabled, a contiguous block of memory is created for each array which data surpasses the size of a region. This contiguous block represents the array as if the data was stored in a contiguous region of memory. All of the array data will be stored at their own region (not with spine); hence, all arraylets become discontiguous whenever this flag is enabled. Since there won’t be any empty arraylet leaves, then arrayoid NULL pointers are no longer required since all data is stored in their own region. It additionaly reduces footprint, mainly for JNI primitive array critical.</description> <ifRemoved></ifRemoved> <requires> <require flag="gc_vlhgc"/> </requires> </flag> <flag id="gc_compressedPointerBarrier"> <description>VM performs runtime checks for missed access barriers in a compressed pointer sense</description> <ifRemoved>VM does not check for missed access barriers in a compressed pointer sense</ifRemoved> <requires> <require flag="gc_alwaysCallObjectAccessBarrier"/> <require flag="gc_verifyAccessBarrier"/> </requires> <precludes> <preclude flag="gc_useInlineAllocate"/> </precludes> </flag> <flag id="gc_compressedPointers"> <description>Object fields are compressed to 32-bits</description> <ifRemoved>Full 64-bit memory space is available</ifRemoved> <requires> <require flag="gc_classesOnHeap"/> <require flag="gc_objectAccessBarrier"/> </requires> </flag> <flag id="gc_concurrentSweep"> <description>Enable concurrent sweep in Modron</description> <ifRemoved>DISABLE concurrent sweep in Modron</ifRemoved> <requires> <require flag="gc_allocationTax"/> <require flag="gc_modronGC"/> <require flag="gc_modronStandard"/> </requires> </flag> <flag id="gc_debugAsserts"> <description>Specialized GC assertions are used instead of standard trace asserts for GC assertions</description> <ifRemoved>GC Assertions during startup may not cause an abort. No messages for GC asserts.</ifRemoved> </flag> <flag id="gc_dynamicClassUnloading"> <description>Dynamic class unloading is supported</description> <ifRemoved>Dynamic class unloading is NOT supported</ifRemoved> </flag> <flag id="gc_dynamicNewSpaceSizing"> <description>Enable dynamic resizing of the new space</description> <ifRemoved>DISABLE dynamic resizing of the new space</ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_modronScavenger"/> </requires> </flag> <flag id="gc_finalization"> <description>Build a VM that supports finalization</description> <ifRemoved>VM does not support finalization</ifRemoved> </flag> <flag id="gc_fragmentedHeap"> <description>VM memory manager supports fragmented heaps (enable with caution!)</description> <ifRemoved>VM memory manager DOES NOT support fragmented heaps (enable with caution!)</ifRemoved> </flag> <flag id="gc_generational"> <description>Does the VM use a multi-generational collector</description> <ifRemoved>The VM does NOT use a multi-generational collector</ifRemoved> </flag> <flag id="gc_heapCardTable"> <description>Means that the Java heap has a card table which is used to track modifications during the GC cycle (be it concurrent or incremental).</description> <ifRemoved>The card table will not be used</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_inlinedAllocFields"> <description>Inlined allocation fields</description> <ifRemoved>Inlined allocation fields not supported</ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_threadLocalHeap"/> </requires> </flag> <flag id="gc_jniArrayCache"> <description>Enable caching of JNI primitive arrays</description> <ifRemoved>Disable caching of JNI primitive arrays</ifRemoved> <requires> <require flag="interp_jniSupport"/> </requires> </flag> <flag id="gc_largeObjectArea"> <description>Enable large object area (LOA) support</description> <ifRemoved>Disable large object area (LOA) support</ifRemoved> <requires> <require flag="gc_modronStandard"/> </requires> </flag> <flag id="gc_leafBits"> <description>Add leaf bit instance descriptions to classes</description> <ifRemoved>Disable leaf bit instance descriptions</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_minimumObjectSize"> <description>Guarantee a minimum size to all objects allocated</description> <ifRemoved>No guaranteed minimum size on allocated objects</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_modronCompaction"> <description>Enable compaction in Modron</description> <ifRemoved>DISABLE compaction in Modron</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_modronConcurrentMark"> <description>Enable concurrent mark in Modron</description> <ifRemoved>DISABLE concurrent mark in Modron</ifRemoved> <requires> <require flag="gc_allocationTax"/> <require flag="gc_heapCardTable"/> <require flag="gc_modronGC"/> <require flag="gc_modronStandard"/> </requires> </flag> <flag id="gc_modronGC"> <description>Build a VM that uses the Modron GC</description> <ifRemoved>VM does not use the Modron GC</ifRemoved> </flag> <flag id="gc_modronScavenger"> <description>Enable scavenger in Modron</description> <ifRemoved>DISABLE scavenger in Modron</ifRemoved> <requires> <require flag="gc_generational"/> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_modronStandard"> <description>Enable Modron standard configuration</description> <ifRemoved>DISABLE Modron standard configuration</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_modronTrace"> <description>Enable trace facility in Modron</description> <ifRemoved>DISABLE trace facility in Modron</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_modronVerbose"> <description>Enable verbose facility in Modron</description> <ifRemoved>DISABLE verbose facility in Modron</ifRemoved> <requires> <require flag="gc_modronGC"/> </requires> </flag> <flag id="gc_newSpinlockSupport"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="gc_nonZeroTLH"> <description>Allocator might use special non-zeroed thread local heap for objects</description> <ifRemoved>Allocator uses a general thread local heap for objects</ifRemoved> <requires> <require flag="gc_threadLocalHeap"/> </requires> </flag> <flag id="gc_objectAccessBarrier"> <description>Enable object access (read and write) barrier</description> <ifRemoved>Disable object access barrier</ifRemoved> </flag> <flag id="gc_realtime"> <description>Realtime Garbage Collection is supported</description> <ifRemoved>Realtime Garbage Collection is NOT supported</ifRemoved> <requires> <require flag="gc_objectAccessBarrier"/> <require flag="gc_segregatedHeap"/> </requires> </flag> <flag id="gc_segregatedHeap"> <description>Enable Segregated Heap model.</description> <ifRemoved>The Segregated Heap model will not be used</ifRemoved> </flag> <flag id="gc_strictOmr"> <description>Enable Strict OMR compile and link for testing</description> <ifRemoved>Compile for JAVA</ifRemoved> </flag> <flag id="gc_subpools"> <description>Enable subpool allocation system</description> <ifRemoved>Disable subpool allocation system</ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_modronStandard"/> <require flag="gc_subpoolsAlias"/> </requires> </flag> <flag id="gc_subpoolsAlias"> <description>Enable a recognition of -Xgcpolicy:subpool parameter for compatibility with Java 6 options. Subpool allocation system is not supported any more, so make it an alias of -Xgcpolicy:optthruput</description> <ifRemoved></ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_modronStandard"/> </requires> </flag> <flag id="gc_threadLocalHeap"> <description>Allocator uses a thread local heap for objects</description> <ifRemoved>Allocator does NOT use a thread local heap for objects</ifRemoved> <requires> <require flag="gc_fragmentedHeap"/> </requires> </flag> <flag id="gc_tiltedNewSpace"> <description>Enable tilting of new space memory</description> <ifRemoved>DISABLE tilting of new space memory</ifRemoved> <requires> <require flag="gc_modronGC"/> <require flag="gc_modronScavenger"/> </requires> </flag> <flag id="gc_tlhPrefetchFTA"> <description>Enable tlhPrefetchFTA</description> <ifRemoved>DISABLE tlhPrefetchFTA</ifRemoved> <requires> <require flag="gc_threadLocalHeap"/> </requires> </flag> <flag id="gc_useInlineAllocate"> <description>Controls if inline allocates are used in VM code generation (rather than calls).</description> <ifRemoved>Object allocation is slower.</ifRemoved> </flag> <flag id="gc_verifyAccessBarrier"> <description>VM performs runtime checks for missed access barriers</description> <ifRemoved>VM does not check for missed access barriers</ifRemoved> <requires> <require flag="gc_alwaysCallObjectAccessBarrier"/> </requires> <precludes> <preclude flag="gc_useInlineAllocate"/> </precludes> </flag> <flag id="gc_vlhgc"> <description>Enables the Very Large Heap Garbage Collector</description> <ifRemoved>Another GC policy must be enabled</ifRemoved> <requires> <require flag="gc_heapCardTable"/> </requires> </flag> <flag id="graph_cmdLineTester"> <description>Indicates that this spec wishes to run the command line tester suites in the nightly build</description> <ifRemoved>cmdLineTester suites will not be run</ifRemoved> </flag> <flag id="graph_common_jobs"> <description>Indicates that this spec wishes to run the common tests in the nightly build (fib, scheme, etc)</description> <ifRemoved>Basic sanity testing will not be done</ifRemoved> </flag> <flag id="graph_compile"> <description>Indicates that this spec wishes to compile the build</description> <ifRemoved>The VM build will not be compiled</ifRemoved> </flag> <flag id="graph_copyJ2SEToToronto"> <description>Mirror J2SE rebuilds to Toronto</description> <ifRemoved>Mirroring of J2SE rebuilds to toronto will not be done causing test failures</ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="graph_copyJ2SEViaNovell"> <description>This flag is used by the graph generator to create the jobs which will copy the J2SE rebuilds for Java5 and Java6 from linuxnfs (where they are created) to Novell. This is required for specs which test on Novell (like Win32) or copy from Novell to remote sites (like z/OS and zLinux)</description> <ifRemoved></ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="graph_copyJ2SEWinFS"> <description>This flag is used by the graph generator to create the jobs which will copy the J2SE rebuilds for Java5 and Java6 from linuxnfs (where they are created) to Novell. This is required for specs which test on Novell (like Win32) or copy from Novell to remote sites (like z/OS and zLinux)</description> <ifRemoved></ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="graph_ebcdicConversion"> <description>Include the ASCII to EBCDIC conversion job in cs.opensource archive.zip for z/OS unzip jobs</description> <ifRemoved>The conversion job will not be included</ifRemoved> </flag> <flag id="graph_eembc"> <description>Indicates that this spec wishes to run the eembc performance suites in the nightly build</description> <ifRemoved>eembc suites will not be run</ifRemoved> </flag> <flag id="graph_enableBuilderTesting"> <description>Indicates that this spec should run automated JIT sanity testing jobs in the nightly build</description> <ifRemoved>This spec will not run any tests and will be a "build only" spec</ifRemoved> </flag> <flag id="graph_enableModularityTesting"> <description>Indicates that this spec should run automated testing jobs in the nightly build</description> <ifRemoved>This spec will only apply to Modularity related tests jobs</ifRemoved> </flag> <flag id="graph_enableNonModularityTesting"> <description>Indicates that this spec should run automated testing jobs in the nightly build</description> <ifRemoved>This spec will only apply to Modularity related tests jobs</ifRemoved> </flag> <flag id="graph_enableTesting"> <description>Indicates that this spec should run automated testing jobs in the nightly build</description> <ifRemoved>This spec will not run any tests and will be a "build only" spec</ifRemoved> </flag> <flag id="graph_enableTesting_Java8"> <description>Indicates that this spec should run automated testing jobs in the nightly build</description> <ifRemoved>This spec will not run any tests and will be a "build only" spec</ifRemoved> </flag> <flag id="graph_enableTesting_Panama"> <description>Indicates that this spec should run automated testing jobs in the nightly build</description> <ifRemoved>This spec will not run any tests and will be a "build only" spec</ifRemoved> </flag> <flag id="graph_excludeAllocFib"> <description>Indicates that this spec wishes to not run the AllocFib test suite in the nightly build</description> <ifRemoved>AllocFib test suite will be run in the nightly build, if otherwise included</ifRemoved> </flag> <flag id="graph_excludeBVT"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="graph_excludeCaffeine"> <description>Indicates that this spec wishes to not run the caffeine test in the nightly build.</description> <ifRemoved>The caffeine test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeCmdLineTestJ2J"> <description>Indicates that this spec wishes to not run the J2J test suite in the nightly build.</description> <ifRemoved>J2J test suite will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeFloatsanity"> <description>Indicates that this spec wishes to not run the floatsanity(g) test in the nightly build.</description> <ifRemoved>The floatsanity(g) test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeInvtest"> <description>Indicates that this spec wishes to not run the invtest in the nightly build.</description> <ifRemoved>The invtest will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeJ9vm"> <description>Indicates that this spec wishes to not run the j9vm test in the nightly build.</description> <ifRemoved>The j9vm test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeJGrinder"> <description>If set, don't run any JGrinder testing (useful for specs which represent experimental technology which shouldn't consume large amounts of testing resources)</description> <ifRemoved>JGrinder tests will be run if they apply to the spec (typically means the spec is a J2SE build)</ifRemoved> </flag> <flag id="graph_excludeJIT"> <description>Excludes all JIT testing from the build.</description> <ifRemoved></ifRemoved> </flag> <flag id="graph_excludeJartester"> <description>Indicates that this spec wishes to not run the jartester test in the nightly build.</description> <ifRemoved>The jartester test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeJavaHMinimal"> <description>Indicates that this spec wishes to not run the javah_minimal test in the nightly build.</description> <ifRemoved>The javah_minimal test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeJclrm"> <description>Indicates that this spec wishes to not run the jclrm test suite in the nightly build.</description> <ifRemoved>The jclrm test suite will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeMemleaks"> <description>Indicates that this spec wishes to not run the memleaks test in the nightly build.</description> <ifRemoved>The memleaks test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeModena"> <description>Indicates that this spec wishes to not run the modena test suite in the nightly build.</description> <ifRemoved>The modena test suite will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeSPECjbb2000"> <description>Indicates that this spec wishes to not run the SPECjbb200 test suite in the nightly build.</description> <ifRemoved>The SPECjbb2000 test suite will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeScheme"> <description>Indicates that this spec wishes to not run the scheme test in the nightly build.</description> <ifRemoved>The scheme test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeUnzipTestSuite390"> <description>Indicates that the 390 (linuz390 or z390) spec wishes to not run the unzip job for a particular test suite.</description> <ifRemoved>The unzip job will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeVich"> <description>Indicates that this spec wishes to not run the vich test in the nightly build.</description> <ifRemoved>The vich test will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_excludeXcheckJNI"> <description>Indicates that this spec wishes to not run the XcheckJNI test suite in the nightly build.</description> <ifRemoved>XcheckJNI test suite will be run in the nightly build, if otherwise included.</ifRemoved> </flag> <flag id="graph_includeThrstatetest"> <description>Indicates that this spec should run thrstatetest in the nightly build. thrstatetest is implemented using VM hacks that may not be robust across all VM configurations. The tested functionality is not particularly platform-dependent.</description> <ifRemoved>thrstatetest will not run in this spec.</ifRemoved> </flag> <flag id="graph_j2seSanity"> <description>States that we want to do the basic sanity tests on a J2SE VM. This is required for platforms like z/OS which have no embedded-style J9 VM.</description> <ifRemoved>The J2SE versions of the basic sanity tests won't be run.</ifRemoved> </flag> <flag id="graph_j9Sanity"> <description>States that we want to do the basic sanity tests on a J9 VM. This is required for platforms for which we do want basic sanity tests and we do also have an embedded-style J9 VM. This is not appropriate for J2SE-only platforms like z/OS</description> <ifRemoved>The J9 versions of the basic sanity tests won't be run.</ifRemoved> </flag> <flag id="graph_jclmaxtest"> <description>Indicates that this spec wishes to run jcl MAX testing in the nightly build</description> <ifRemoved>jclmaxtests will not be run</ifRemoved> </flag> <flag id="graph_jgrinder"> <description>Indicates that this spec wishes to run jgrinder stress test suites in the nightly build</description> <ifRemoved>jgrinder suites will not be run</ifRemoved> </flag> <flag id="graph_midpSanity"> <description>States that we want to do the basic sanity tests on a J9 MIDP VM. This is required for platforms for which we do want basic sanity tests and we do also have an embedded-style J9 VM. This is not appropriate for J2SE-only platforms like z/OS</description> <ifRemoved>The J9 MIDP versions of the basic sanity tests won't be run. NOTE: these tests are also a subset of test_j9Sanity</ifRemoved> </flag> <flag id="graph_mirrorToPoughkeepsie"> <description>Mirror J2SE rebuilds to Remote Site</description> <ifRemoved>Mirroring of J2SE rebuilds to remote site will blocking testing and delivery for PPCLE</ifRemoved> <requires> <require flag="build_j2se"/> </requires> </flag> <flag id="graph_nfsUploadForRebuild"> <description>States whether this spec needs its product to be uploaded to the NFS server before it can be rebuilt as a J2SE VM (all specs other than our local Unix specs require this since the rebuild is done on Unix machines).</description> <ifRemoved>The "Upload intrel drop for J2SE rebuild" job will be stripped from the build for this spec.</ifRemoved> </flag> <flag id="graph_omitConsoleChallengedTests"> <description>Used to not run test that don't work well with CE consoles.</description> <ifRemoved>The normal set of tests requested for the spec will be run.</ifRemoved> </flag> <flag id="graph_omitExpensiveTests"> <description>If set, the spec won't run the tests which have been flagged as requiring a lot of resources. This vague definition is deliberate since the set of tests turned off by this flag is a moving target. Generally, this flag is set on embedded specs since their test machines don't have massive memory, CPU power, and storage space.</description> <ifRemoved>The normal set of tests requested for the spec will be run</ifRemoved> </flag> <flag id="graph_omitJava5Tests"> <description>Used as a temporary measure to restrict redundant testing on the J2SE Java6 shipping platforms so that we get more test time to run the tests we are actually interested in seeing (we will get more Java6 JGrinders if we don't run the Java5 versions)</description> <ifRemoved>Java 5 J2SE testing will be performed</ifRemoved> <requires> <require flag="build_java5"/> </requires> </flag> <flag id="graph_plumhall"> <description>Indicates that this spec wishes to run plumhall test suites in the nightly build</description> <ifRemoved>plumhall suites will not be run</ifRemoved> </flag> <flag id="graph_rtj_aot"> <description>Indicates that this spec wishes to run the RTJ AOT tests in the nightly build</description> <ifRemoved>RTJ AOT testing will not be run</ifRemoved> </flag> <flag id="graph_smalltalkArtifacts"> <description>Indicates that this spec needs to generate smalltalk artifacts</description> <ifRemoved>No smalltalk artifacts will be generated</ifRemoved> </flag> <flag id="graph_tck"> <description>Indicates that this spec wishes to run TCK compliance tests in the nightly build</description> <ifRemoved>TCK Compliance testing will not be run</ifRemoved> </flag> <flag id="graph_toronto"> <description>Indicates that a spec runs in Toronto and requires a Toronto local network filesystem and resources</description> <ifRemoved>Spec runs in Ottawa</ifRemoved> </flag> <flag id="graph_useJTCTestingPlaylist"> <description>Indicates that this spec uses the common JTC Testing Playlists for testing</description> <ifRemoved>JTC playlist anchors won't be generated and our local testing will be used where there was a JTC equivalent</ifRemoved> </flag> <flag id="graph_verification"> <description>Enables JSR verification tests</description> <ifRemoved>JSR verification tests will not be enabled. We will not perform a cfdump and compare them with "golden" ROM dumps</ifRemoved> </flag> <flag id="interp_aotCompileSupport"> <description>Controls if the AOT compilation support is included in the VM</description> <ifRemoved>No AOT compilation support available</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="interp_aotRuntimeSupport"> <description>Controls if the AOT runtime support is included in the VM</description> <ifRemoved>No AOT runtime support available</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="interp_atomicFreeJni"> <description>Use the new atomic-free JNI support</description> <ifRemoved>Atomics used to release/acquire VM access at JNI calls</ifRemoved> </flag> <flag id="interp_atomicFreeJniUsesFlush"> <description>Atomic free uses FlushProcessWriteBuffers instead of barriers</description> <ifRemoved>Atomic free uses barriers</ifRemoved> <requires> <require flag="interp_atomicFreeJni"/> <require flag="interp_twoPassExclusive"/> </requires> </flag> <flag id="interp_bytecodePreverification"> <description>Does this VM support 1st pass bytecode verification (able to dynamically generate pre-verify data)</description> <ifRemoved>No 1st pass bytecode verification support</ifRemoved> <requires> <require flag="interp_bytecodeVerification"/> </requires> </flag> <flag id="interp_bytecodeVerification"> <description>Does this VM support 2nd pass bytecode verification (pre-verify data in .jxe only)</description> <ifRemoved>No 2nd pass bytecode verification support</ifRemoved> </flag> <flag id="interp_compressedObjectHeader"> <description>Flag to indicate that on 64-bit platforms, the monitor slot and class slot in object headers are U32 rather than UDATA.</description> <ifRemoved></ifRemoved> <requires> <require flag="interp_smallMonitorSlot"/> </requires> </flag> <flag id="interp_customSpinOptions"> <description>Enables support for the "-Xthr:customSpinOptions=" option, which is used to specify class-specific spin parameters.</description> <ifRemoved>Disables support for the "-Xthr:customSpinOptions=" option.</ifRemoved> </flag> <flag id="interp_debugSupport"> <description>Controls if a debugging support is included in the VM.</description> <ifRemoved>No remote debugging/stepping.</ifRemoved> </flag> <flag id="interp_enableJitOnDesktop"> <description>TEMPORARY FLAG for arm test environment</description> <ifRemoved>TEMPORARY FLAG for arm test environment</ifRemoved> </flag> <flag id="interp_flagsInClassSlot"> <description>Store object flags in low bits of Class Slot</description> <ifRemoved>Separate flags slot in object header</ifRemoved> <requires> <require flag="gc_minimumObjectSize"/> </requires> </flag> <flag id="interp_floatSupport"> <description>Determines if float and double data types are supported by the VM.</description> <ifRemoved>Float and double bytecodes and natives are removed.</ifRemoved> </flag> <flag id="interp_floatmathTracing"> <description>TRACING FEATURE. Determines if the interpreter produces trace information at every math bytecode.</description> <ifRemoved>No math trace available.</ifRemoved> <requires> <require flag="interp_floatSupport"/> </requires> <precludes> <preclude flag="env_data64"/> </precludes> </flag> <flag id="interp_floatmathlibTracing"> <description>TRACING FEATURE. Determines if the interpreter produces trace information at every math library call.</description> <ifRemoved>No math lib trace available.</ifRemoved> <requires> <require flag="interp_floatSupport"/> </requires> <precludes> <preclude flag="env_data64"/> </precludes> </flag> <flag id="interp_gpHandler"> <description>Determines if protection faults are caught by the VM and handled cleanly.</description> <ifRemoved>Protection faults in natives cause fatal exits.</ifRemoved> </flag> <flag id="interp_growableStacks"> <description>Enables dynamic java stack growing</description> <ifRemoved>Stack size is fixed</ifRemoved> </flag> <flag id="interp_hotCodeReplacement"> <description>Controls if a hot code replacement support is included in the VM.</description> <ifRemoved>No hot code replacement, space savings in debugger and JNI</ifRemoved> <requires> <require flag="interp_debugSupport"/> <require flag="opt_dynamicLoadSupport"/> </requires> </flag> <flag id="interp_jitOnByDefault"> <description>Turns JIT on by default</description> <ifRemoved>JIT will be off unless build spec is "desktop"</ifRemoved> </flag> <flag id="interp_jniSupport"> <description>Determines if JNI native support is available.</description> <ifRemoved>JCL won't work!</ifRemoved> </flag> <flag id="interp_minimalJCL"> <description>Does the VM support the full J2SE JCL, or merely a minimal subset.</description> <ifRemoved>VM supports full J2SE.</ifRemoved> <precludes> <preclude flag="opt_methodHandle"/> </precludes> </flag> <flag id="interp_minimalJNI"> <description>Does the VM support full JNI, or merely a minimal subset.</description> <ifRemoved>VM supports all JNI functionality.</ifRemoved> <requires> <require flag="interp_jniSupport"/> </requires> <precludes> <preclude flag="opt_bigInteger"/> <preclude flag="opt_reflect"/> <preclude flag="opt_sidecar"/> </precludes> </flag> <flag id="interp_nativeSupport"> <description>Controls if the native translator is included in the VM.</description> <ifRemoved>No native translation of code, bytecode interpretation only.</ifRemoved> </flag> <flag id="interp_newHeaderShape"> <description>Temporary flag for experimentation with the object header shape.</description> <ifRemoved></ifRemoved> </flag> <flag id="interp_profilingBytecodes"> <description>If enabled, profiling versions of branch and call bytecodes are available. These gather additional info for the JIT for optimal code generation</description> <ifRemoved>No profiling bytecodes available</ifRemoved> </flag> <flag id="interp_romableAotSupport"> <description>ROMable AOT Support for TJ Watson</description> <ifRemoved>NO ROMable AOT Support for TJ Watson</ifRemoved> </flag> <flag id="interp_sigQuitThread"> <description>Controls if a separate thread handles SIGQUITsignal.</description> <ifRemoved>platform cannot answer SIGQUIT.</ifRemoved> <requires> <require flag="interp_gpHandler"/> </requires> </flag> <flag id="interp_smallMonitorSlot"> <description>Flag to indicate that on 64-bit platforms, the monitor slot in object headers is a U32 rather than a UDATA.</description> <ifRemoved>The monitor slot is a UDATA.</ifRemoved> <requires> <require flag="env_data64"/> </requires> </flag> <flag id="interp_tracing"> <description>DEBUGGING FEATURE. Determines if the interpreter produces debug information at every bytecode.</description> <ifRemoved>No full trace available.</ifRemoved> </flag> <flag id="interp_twoPassExclusive"> <description>Exclusive VM access - Set halt bit in one pass, count responders in another pass</description> <ifRemoved>Set and count in a single pass</ifRemoved> </flag> <flag id="interp_updateVMCTracing"> <description>Debug mode for tracing uses of updateVMStruct</description> <ifRemoved>No tracing of updateVMStruct helpers</ifRemoved> </flag> <flag id="interp_useUnsafeHelper"> <description>If set, use helper functions in UnsafeAPI to access native memory</description> <ifRemoved></ifRemoved> </flag> <flag id="interp_verbose"> <description>Determines if verbose reporting is available.</description> <ifRemoved>-verbose options don't work</ifRemoved> </flag> <flag id="ive_jxeFileRelocator"> <description>Allows JXEs to be loaded from disk</description> <ifRemoved>JXEs must be loaded by the caller</ifRemoved> <requires> <require flag="ive_jxeInPlaceRelocator"/> <require flag="opt_jxeLoadSupport"/> </requires> </flag> <flag id="ive_jxeInPlaceRelocator"> <description>Allows JXEs to be relocated in place in memory</description> <ifRemoved>The streaming relocator must be used</ifRemoved> <requires> <require flag="opt_jxeLoadSupport"/> </requires> </flag> <flag id="ive_jxeNatives"> <description>Determines if the natives for accessing JXEs are generated</description> <ifRemoved>JXEs can only be used for bootstrapping (or extreme)</ifRemoved> <requires> <require flag="interp_jniSupport"/> <require flag="opt_jxeLoadSupport"/> </requires> </flag> <flag id="ive_jxeOERelocator"> <description>Support for relocating opposite endian JXEs</description> <ifRemoved>Only native endian JXEs can be loaded</ifRemoved> <requires> <require flag="ive_jxeInPlaceRelocator"/> <require flag="opt_jxeLoadSupport"/> </requires> </flag> <flag id="ive_jxeStreamingRelocator"> <description>Allows JXEs to be streamed into ROM</description> <ifRemoved>No streaming relocator</ifRemoved> <requires> <require flag="opt_jxeLoadSupport"/> </requires> </flag> <flag id="ive_memorySpaceHelpers"> <description>Controls if the VM includes support for memorySpace creation and deletion</description> <ifRemoved>No memorySpace routines available.</ifRemoved> </flag> <flag id="ive_romImageHelpers"> <description>Controls if the VM includes support for romImageLoad and romImageUnload</description> <ifRemoved>No facility for installing jxes or romImages</ifRemoved> </flag> <flag id="ive_rawBuild"> <description>Pure OpenJDK Java code without any OpenJ9 modifications</description> <ifRemoved>No raw builds</ifRemoved> </flag> <flag id="jit_32bitUses64bitRegisters"> <description>Allow the 32 bit JIT to use the 64 bit registers</description> <ifRemoved></ifRemoved> <precludes> <preclude flag="env_data64"/> <preclude flag="env_littleEndian"/> </precludes> </flag> <flag id="jit_cHelpers"> <description>If set, the C version of JIT helpers is used.</description> <ifRemoved>Builder version of the helpers is used.</ifRemoved> </flag> <flag id="jit_classUnloadRwmonitor"> <description>If set, the GC class unloading monitor will be a RW monitor rather than a normal monitor.</description> <ifRemoved>GC class unloading monitor is a normal monitor.</ifRemoved> </flag> <flag id="jit_dynamicLoopTransfer"> <description>Controls whether Dynamic Loop Transfer (DLT) is enabled in the VM</description> <ifRemoved>DLT is disabled</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_freeSystemStackPointer"> <description>Free the system stack pointer so the JIT can use it as a GPR. Only available on zOS</description> <ifRemoved></ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_fullSpeedDebug"> <description>Controls whether the jit supports debugging.</description> <ifRemoved>JIT will be disabled if the debugger is active</ifRemoved> <requires> <require flag="interp_debugSupport"/> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_gcOnResolveSupport"> <description>Controls if the JIT VM interface supports gcOnResolve.</description> <ifRemoved>gcOnResolve has no effect, saving space</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_ia32FixedFrame"> <description>Temp flag to enable IA32 fixed frame linkage</description> <ifRemoved>JIT works as normal</ifRemoved> </flag> <flag id="jit_microJit"> <description>Controls whether microJIT (aka "Vespa")is supported.</description> <ifRemoved>MicroJIT not supported</ifRemoved> <requires> <require flag="gc_threadLocalHeap"/> </requires> </flag> <flag id="jit_nathelpUsesClassObjects"> <description>Temp flag: indicates that nathelp helpers expect class object pointers rather than J9Class*s</description> <ifRemoved>nathelp helpers expect J9Class*s</ifRemoved> </flag> <flag id="jit_needsTrampolines"> <description>Controls if multiple code caches need calls to trampolines .</description> <ifRemoved>platform cannot not grow caches if it needs trampolines.</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_newDualHelpers"> <description>Enables the new-style dual mode helpers</description> <ifRemoved>Dual mode helpers use the old convention</ifRemoved> <requires> <require flag="jit_cHelpers"/> </requires> </flag> <flag id="jit_newInstancePrototype"> <description>Controls whether the JIT will create per-class newInstanceImpl translations.</description> <ifRemoved>newInstanceImpl is always called, never translated</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_onStackReplacement"> <description>Controls whether On Stack Replacement (OSR) is enabled in the VM</description> <ifRemoved>OSR is disabled</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_requiresTrapHandler"> <description>Controls if code in the cache requires a gpHandler.</description> <ifRemoved>No trap or gp handling used in generated code (means explicit NullCheck, DivCheck, ArrayBounds).</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_runtimeInstrumentation"> <description>Controls whether runtime instrumentation on/off checks will be generated at transition points.</description> <ifRemoved>RI code is not generated.</ifRemoved> <requires> <require flag="interp_nativeSupport"/> <require flag="port_runtimeInstrumentation"/> </requires> </flag> <flag id="jit_small"> <description>Controls whether the jit should be built for size, not speed.</description> <ifRemoved>Will be big and fast instead of smaller and slower.</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> <precludes> <preclude flag="jit_fullSpeedDebug"/> <preclude flag="jit_newInstancePrototype"/> </precludes> </flag> <flag id="jit_supportsDirectJNI"> <description>Controls if code in the cache can call JNI directly.</description> <ifRemoved>JNI/INL calls require a transition through the interpreter.</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="jit_transactionDiagnosticThreadBlock"> <description>Controls whether the 256 byte (z/OS) Transaction Diagnostic Block (TDB) is added to J9VMThread</description> <ifRemoved>The JIT cannot use the TDB for debugging failed transactions</ifRemoved> <requires> <require flag="interp_nativeSupport"/> </requires> </flag> <flag id="math_directHelpers"> <description>If on, publishes the direct (not via pointer) floating point math helpers in the VM internal function table. Note that this does not control whether the helpers exist - they always exist in any stream where this flag exists at all.</description> <ifRemoved>Fields in the internal function table are removed.</ifRemoved> <requires> <require flag="interp_floatSupport"/> </requires> </flag> <flag id="module_a2e"> <description>Enables compilation of the a2e module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_algorithm_test"> <description>Enables compilation of the algorithm_test module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_aotrt_common"> <description>Enables compilation of the aotrt_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_avl"> <description>Enables compilation of the avl module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_bcproftest"> <description>Enables compilation of the bcproftest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_bcutil"> <description>Enables compilation of the bcutil module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_bcverify"> <description>Enables compilation of the bcverify module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_buildtools"> <description>Enables compilation of the buildtools module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_cassume"> <description>Enables compilation of the cassume module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_cfdumper"> <description>Enables compilation of the cfdumper module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen"> <description>Enables compilation of the codegen module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_aarch64"> <description>Enables compilation of the codegen_aarch64 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_arm"> <description>Enables compilation of the codegen_arm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_common"> <description>Enables compilation of the codegen_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_common_aot"> <description>Enables compilation of the codegen_common_aot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_comsched"> <description>Enables compilation of the codegen_comsched module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_ia32"> <description>Enables compilation of the codegen_ia32 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_ilgen"> <description>Enables compilation of the codegen_ilgen module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_opt"> <description>Enables compilation of the codegen_opt module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_ppc"> <description>Enables compilation of the codegen_ppc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_riscv"> <description>Enables compilation of the codegen_riscv module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_s390"> <description>Enables compilation of the codegen_s390 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_sched"> <description>Enables compilation of the codegen_sched module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codegen_wcode"> <description>Enables compilation of the codegen_wcode module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_aarch64"> <description>Enables compilation of the codert_aarch64 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_arm"> <description>Enables compilation of the codert_arm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_common"> <description>Enables compilation of the codert_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_ia32"> <description>Enables compilation of the codert_ia32 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_ppc"> <description>Enables compilation of the codert_ppc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_riscv"> <description>Enables compilation of the codert_riscv module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_s390"> <description>Enables compilation of the codert_s390 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_codert_vm"> <description>Enables compilation of the codert_vm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_dbgext"> <description>Enables compilation of the dbgext module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_dbx"> <description>Enables compilation of the dbx module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_dbx_32dbg"> <description>Enables compilation of the dbx_32dbg module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_dbx_64dbg"> <description>Enables compilation of the dbx_64dbg module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_ddr"> <description>Enables compilation of the ddr module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_ddr_dbx_plugin"> <description>Enables compilation of the ddr dbx plugin module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_ddr_gdb_plugin"> <description>Enables compilation of the ddr gdb plugin module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_ddrext"> <description>Enables compilation of the ddr extensions module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_exelib"> <description>Enables compilation of the exelib module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc"> <description>Enables compilation of the gc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_api"> <description>Enables compilation of the gc_api module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_base"> <description>Enables compilation of the gc_base module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_check"> <description>Enables compilation of the gc_check module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_common"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="module_gc_doc"> <description>Enables compilation of the gc_doc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_include"> <description>Enables compilation of the gc_include module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_modron_base"> <description>Enables compilation of the gc_modron_base module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_modron_standard"> <description>Enables compilation of the gc_modron_standard module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_modron_startup"> <description>Enables compilation of the gc_modron_startup module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_realtime"> <description>Enables compilation of the gc_realtime module</description> <ifRemoved>The module will not be compiled</ifRemoved> </flag> <flag id="module_gc_stats"> <description>Enables compilation of the gc_stats module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_structs"> <description>Enables compilation of the gc_structs module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gc_trace"> <description>Enables compilation of the gc_trace module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gcchk"> <description>Enables compilation of the gcchk module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gdb"> <description>Enables compilation of the gdb module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gdb_plugin"> <description>Enables compilation of the gdb plugin module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_gptest"> <description>Enables compilation of the gptest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_hashtable"> <description>Enables compilation of the hashtable module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_hookable"> <description>Enables compilation of the hookable module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_ifa"> <description>Enables compilation of the ifa module (permits use of z/OS application assist processors).</description> <ifRemoved>The module will not be compiled.</ifRemoved> <requires> <require flag="opt_javaOffloadSupport"/> </requires> </flag> <flag id="module_include"> <description>Enables compilation of the include module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_include31"> <description>Enables compilation of the include module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_j9vm"> <description>Enables compilation of the j9vm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_j9vm31"> <description>Enables compilation of the j9vm31 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_j9vmtest"> <description>Enables compilation of the j9vmtest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jcl"> <description>Enables compilation of the jcl module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jextractnatives"> <description>Enables compilation of the jextractnatives module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_aarch64"> <description>Enables compilation of the jit_aarch64 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_arm"> <description>Enables compilation of the jit_arm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_aarch64aot"> <description>Enables compilation of the jit_aarch64aot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_armaot"> <description>Enables compilation of the jit_armaot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_common"> <description>Enables compilation of the jit_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_common_aot"> <description>Enables compilation of the jit_common_aot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_ia32"> <description>Enables compilation of the jit_ia32 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_ia32aot"> <description>Enables compilation of the jit_ia32aot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_ppc"> <description>Enables compilation of the jit_ppc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_ppcaot"> <description>Enables compilation of the jit_ppcaot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_riscv"> <description>Enables compilation of the jit_riscv module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_riscvaot"> <description>Enables compilation of the jit_riscvaot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_s390"> <description>Enables compilation of the jit_s390 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_s390aot"> <description>Enables compilation of the jit_s390aot module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jit_vm"> <description>Enables compilation of the jit_vm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_aarch64"> <description>Enables compilation of the jitrt_aarch64 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_arm"> <description>Enables compilation of the jitrt_arm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_common"> <description>Enables compilation of the jitrt_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_ia32"> <description>Enables compilation of the jitrt_ia32 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_ppc"> <description>Enables compilation of the jitrt_ppc module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_riscv"> <description>Enables compilation of the jitrt_riscv module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jitrt_s390"> <description>Enables compilation of the jitrt_s390 module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jniargtests"> <description>Enables compilation of the jniargtests module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jnichk"> <description>Enables compilation of the jnichk module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jniinv"> <description>Enables compilation of the jniinv module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jnitest"> <description>Enables compilation of the jnitest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jvmti"> <description>Enables compilation of the jvmti module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_jvmtitst"> <description>Enables compilation of the jvmtitst module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_lifecycle_tests"> <description>Test creation and shutdown of the JVM using JNI functions</description> <ifRemoved></ifRemoved> </flag> <flag id="module_masm2gas"> <description>Enables compilation of the masm2gas module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_omr"> <description>Enables compilation of the omr module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_oti"> <description>Enables compilation of the oti module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_pool"> <description>Enables compilation of the pool module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_port"> <description>Enables compilation of the port module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_porttest"> <description>Enables compilation of the porttest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_rasdump"> <description>Enables compilation of the rasdump module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_rastrace"> <description>Enables compilation of the rastrace module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_redirect"> <description>Enables compilation of the redirect module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_shared"> <description>Enables compilation of the shared module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_shared_common"> <description>Enables compilation of the shared_common module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_shared_servicetest"> <description>Enables compilation of the shared_servicetest module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_shared_test"> <description>Enables compilation of the shared_test module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_shared_util"> <description>Enables compilation of the shared_util module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_simplepool"> <description>Enables compilation of the simplepool module</description> <ifRemoved>The module will not be compiled</ifRemoved> </flag> <flag id="module_srphashtable"> <description>Enables compilation of the srphashtable module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_stackmap"> <description>Enables compilation of the stackmap module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_strictm"> <description>Enables compilation of the strictm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_thread"> <description>Enables compilation of the thread module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_util"> <description>Enables compilation of the util module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_util_core"> <description>Enables compilation of the util_core module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_verbose"> <description>Enables compilation of the verbose module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_verutil"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="module_vm"> <description>Enables compilation of the vm module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_windbg"> <description>Enables compilation of the windbg module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_zip"> <description>Enables compilation of the zip module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="module_zlib"> <description>Enables compilation of the zlib module.</description> <ifRemoved>The module will not be compiled.</ifRemoved> </flag> <flag id="opt_annotations"> <description>VM supports reading JDK 5.0 annotations and natives for accessing them.</description> <ifRemoved>VM ignores JDK 5.0 annotations</ifRemoved> </flag> <flag id="opt_bigInteger"> <description>Controls if the VM includes support for java.math.BigInteger natives.</description> <ifRemoved>No java.math.BigInteger natives available.</ifRemoved> </flag> <flag id="opt_criuSupport"> <description>Enables support for CRIU Java API's</description> <ifRemoved>No support for CRIU Java API's</ifRemoved> </flag> <flag id="opt_cuda"> <description>Add support for CUDA</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_debugInfoServer"> <description>Controls if the debug info server is included in the VM.</description> <ifRemoved>No debug info saved by VM, i.e. no line numbers in stack traces</ifRemoved> </flag> <flag id="opt_debugJsr45Support"> <description>Support for JSR 45 stratum commands</description> <ifRemoved>Disable JSR 45 support</ifRemoved> <requires> <require flag="interp_debugSupport"/> </requires> </flag> <flag id="opt_deprecatedMethods"> <description>VM supports deprecated APIs.</description> <ifRemoved>VM does not support deprecated APIs.</ifRemoved> </flag> <flag id="opt_dmaNatives"> <description>Include com.ibm.oti.vm.DMA natives in all ME JCLs</description> <ifRemoved>DMA natives excluded from all JCLs</ifRemoved> </flag> <flag id="opt_dynamicLoadSupport"> <description>Determines if the dynamic loader is included.</description> <ifRemoved>No dynamic loading of classes supported.</ifRemoved> </flag> <flag id="opt_fips"> <description>Add supports for FIPs</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_fragmentRamClasses"> <description>Transitional flag for the the GC during the switch to fragmented RAM class allocation</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_inlineJsrs"> <description>Turns on JSR inlining in the dynamic loader.</description> <ifRemoved>Only pre-inlined classes supported.</ifRemoved> </flag> <flag id="opt_invariantInterning"> <description>Support invariant interning at runtime (such as UTF8s)</description> <ifRemoved>Disable invariant interning at runtime (such as UTF8s)</ifRemoved> <requires> <require flag="opt_dynamicLoadSupport"/> </requires> </flag> <flag id="opt_javaOffloadSupport"> <description>Enables Java Offload Processor support - z/OS only.</description> <ifRemoved>No Java offload processor support will be built.</ifRemoved> <requires> <require flag="module_ifa"/> </requires> </flag> <flag id="opt_jitserver"> <description>JITServer support is enabled in the buildspec.</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_jvmti"> <description>Support for the JVMTI interface</description> <ifRemoved>No support for JVMTI</ifRemoved> <requires> <require flag="opt_debugInfoServer"/> </requires> </flag> <flag id="opt_jxeLoadSupport"> <description>Controls if main will allow -jxe: and relocate the disk image for you.</description> <ifRemoved>No -jxe option.</ifRemoved> <requires> <require flag="opt_romImageSupport"/> </requires> </flag> <flag id="opt_memoryCheckSupport"> <description>Include support for memory error checking (via the -Xcheck:memory cmdline opt).</description> <ifRemoved>No -Xcheck:memory support</ifRemoved> </flag> <flag id="opt_methodHandle"> <description>Enables support for OpenJ9 MethodHandles. opt_openjdkMethodhandle should be disabled.</description> <ifRemoved>Disables support for OpenJ9 MethodHandles.</ifRemoved> </flag> <flag id="opt_methodHandleCommon"> <description>Enables common dependencies between OpenJ9 and OpenJDK MethodHandles.</description> <ifRemoved>Disables common dependencies between OpenJ9 and OpenJDK MethodHandles.</ifRemoved> </flag> <flag id="opt_module"> <description>Turns on module support</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_multiVm"> <description>Decides if multiple VMs can be created in the same address space</description> <ifRemoved>Only one VM per address space (process) allowed</ifRemoved> </flag> <flag id="opt_nativeCharacterConverter"> <description>Use OS character conversion routines where possible</description> <ifRemoved>Only use Java character converters</ifRemoved> </flag> <flag id="opt_nativeLocaleSupport"> <description>Use OS locale routines where possible</description> <ifRemoved>Only use Java locale routines</ifRemoved> </flag> <flag id="opt_newObjectHash"> <description>TEMPORARY: Transition to new object hashcode implementation</description> <ifRemoved>Use old (working) hashcode implementation</ifRemoved> </flag> <flag id="opt_newRomClassBuilder"> <description>TEMPORARY: being used to transition from old bcutil code to new code.</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_noClassloaders"> <description>Disables support for classloaders (other than the system classloader)</description> <ifRemoved>Enables support for multiple classloaders</ifRemoved> </flag> <flag id="opt_nrr"> <description>Enables New Reality Runtime (NRR) features.</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_openjdkMethodhandle"> <description>Enables support for OpenJDK MethodHandles. opt_methodHandle should be disabled.</description> <ifRemoved>Disables support for OpenJDK MethodHandles.</ifRemoved> </flag> <flag id="opt_packed"> <description>Enables support for @Packed types (Structs)</description> <ifRemoved>No support for @Packed types (Structs)</ifRemoved> </flag> <flag id="opt_panama"> <description>Enables support for Project Panama features such as native method handles</description> <ifRemoved>No support for Project Panama features such as native method handles</ifRemoved> </flag> <flag id="opt_openjdkFfi"> <description>Enables support for Foreign Linker API (part of Project Panama) such as native invocations to ffi_call</description> <ifRemoved>No support for Foreign Linker API</ifRemoved> </flag> <flag id="opt_openjdkThreadSupport"> <description>Enables OpenJDK Thread support for Project Loom</description> <ifRemoved>No OpenJDK Thread support for Project Loom</ifRemoved> </flag> <flag id="opt_valhallaValueTypes"> <description>Enables support for Project Valhalla L-World Value Types</description> <ifRemoved>No support for Project Valhalla L-World Value Types</ifRemoved> </flag> <flag id="opt_phpSupport"> <description>Support for PHP interpreter.</description> <ifRemoved>No support for PHP.</ifRemoved> </flag> <flag id="opt_reflect"> <description>Controls if the VM includes support for java.lang.reflect natives.</description> <ifRemoved>No java.lang.reflect natives available.</ifRemoved> <requires> <require flag="interp_jniSupport"/> </requires> </flag> <flag id="opt_romImageSupport"> <description>Controls if the VM includes basic support for linked rom images</description> <ifRemoved>No facility for finding rom image from jxe pointer</ifRemoved> </flag> <flag id="opt_sharedClasses"> <description>Support for class sharing</description> <ifRemoved>No support for class sharing</ifRemoved> <requires> <require flag="interp_jniSupport"/> </requires> </flag> <flag id="opt_sidecar"> <description>Determines if sidecar files are built.</description> <ifRemoved>Standard J9 VM only - no sidecar support</ifRemoved> <requires> <require flag="interp_jniSupport"/> </requires> </flag> <flag id="opt_srpAvlTreeSupport"> <description>Include support for AVL trees with SRPs</description> <ifRemoved>Use normal AVL trees with direct pointers</ifRemoved> </flag> <flag id="opt_stringCompression"> <description>Compresses strings that contain only characters with values less than 256 into a single byte rather than two</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_switchStacksForSignalHandler"> <description>Applies to x86 only. If enabled, the VM will switch away from the java stack to the C stack before invoking the VM signal handler to avoid overflow and corruption issues.</description> <ifRemoved>The VM signal handler will run on whichever stack was active when the port library signal handler was invoked.</ifRemoved> </flag> <flag id="opt_tempNewInterfaceInvocation"> <description>Temp flag until JIT side of invokeInterface support promotes though to us</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_useFfi"> <description>Use libFFI for native callouts</description> <ifRemoved></ifRemoved> </flag> <flag id="opt_useFfiOnly"> <description>Force the use of libFFI for native callouts</description> <ifRemoved>FFI is optional</ifRemoved> <requires> <require flag="opt_useFfi"/> </requires> </flag> <flag id="opt_useOmrDdr"> <description>Use the ddrgen tool from OMR in support of DDR.</description> <ifRemoved>If DDR support is enabled, the legacy tools will be used instead.</ifRemoved> </flag> <flag id="opt_veeSupport"> <description>Support for multiple Virtual Execution Environments.</description> <ifRemoved>No support for multiple languages</ifRemoved> </flag> <flag id="opt_vmLocalStorage"> <description>Decides if this VM supports the VM local storage interface</description> <ifRemoved>No VM local storage functions</ifRemoved> </flag> <flag id="opt_zero"> <description>Option to enable Java Zero features. Design 1704.</description> <ifRemoved>No Java Zero features.</ifRemoved> </flag> <flag id="opt_zipSupport"> <description>Controls if the VM includes zip reading and caching support.</description> <ifRemoved>No zip support (which implies no dynamic loading)</ifRemoved> </flag> <flag id="opt_zlibCompression"> <description>Controls if the compression routines in zlib are included.</description> <ifRemoved>zlib compression routines will be unavailable, some JCL may not compile/link.</ifRemoved> <requires> <require flag="opt_zlibSupport"/> </requires> </flag> <flag id="opt_zlibSupport"> <description>Controls if the VM includes the zlib compression library.</description> <ifRemoved>Only uncompressed zips are supported.</ifRemoved> <requires> <require flag="opt_zipSupport"/> </requires> </flag> <flag id="port_omrsigSupport"> <description>Handle signals via external OMRSIG library.</description> <ifRemoved>Handle signals using OS primitives.</ifRemoved> </flag> <flag id="port_runtimeInstrumentation"> <description>Controls whether runtime instrumentation support exists on this platform.</description> <ifRemoved>RI functions will not exist in the port library function table.</ifRemoved> </flag> <flag id="port_signalSupport"> <description>At least some signals can be handled by the port library j9sig_ functions</description> <ifRemoved>Signal functions are all stubs.</ifRemoved> </flag> <flag id="port_zosCEEHDLRSupport"> <description>If set, j9sig_protect will include support for registering a handler using CEEHDLR. Pass J9PORT_SIG_OPTIONS_ZOS_USE_CEEHDLR into j9sig_set_options() before the first call to j9sig_protect() to turn on the use of CEEHDLR at runtime.</description> <ifRemoved>If removed j9sig_protect will not include support for CEEHDLR.</ifRemoved> <requires> <require flag="port_signalSupport"/> </requires> </flag> <flag id="prof_countArgsTemps"> <description>display a count of args/temps usage for loaded methods</description> <ifRemoved>no report of args/temps usage</ifRemoved> </flag> <flag id="prof_eventReporting"> <description>Generic event reporting facilities are included in the VM (internal interface)</description> <ifRemoved>No internal event reporting facilities</ifRemoved> </flag> <flag id="prof_jvmti"> <description>Java Virtual Machine Tool Interface (JVMTI)</description> <ifRemoved>JVMTI not supported</ifRemoved> <requires> <require flag="interp_jniSupport"/> <require flag="prof_eventReporting"/> </requires> </flag> <flag id="size_optimizeSendTargets"> <description>Determines if extra optimized send targets will be generated.</description> <ifRemoved>Space saving at the cost of some speed.</ifRemoved> </flag> <flag id="size_smallCode"> <description>Reduce code size where possible.</description> <ifRemoved>Normal code paths (normally larger and faster).</ifRemoved> </flag> <flag id="size_smallOsStack"> <description>Target machine has a very small OS stack size; reduce stack usage.</description> <ifRemoved>Normal stack usage.</ifRemoved> </flag> <flag id="size_smallRAM"> <description>Target machine has very little free RAM; reduce memory usage.</description> <ifRemoved>Normal memory usage.</ifRemoved> </flag> <flag id="temp_alignClassSlot"> <description>Add padding slot if required to align class slot to 64-bit. TEMPORARY.</description> <ifRemoved></ifRemoved> <requires> <require flag="interp_compressedObjectHeader"/> <require flag="thr_lockNursery"/> </requires> </flag> <flag id="temp_keepFlagsSlot"> <description>Keep flags slot even all flags are moved to low bits of clazz slot</description> <ifRemoved></ifRemoved> <requires> <require flag="interp_flagsInClassSlot"/> </requires> </flag> <flag id="test_cunit"> <description>C unit test harness is supported on this platform. Requires support for assert.</description> <ifRemoved>No C unit test harness is available, all C unit tests will be excluded.</ifRemoved> </flag> <flag id="test_jvmti"> <description>Indicates availability of JVMTI testing</description> <ifRemoved>JVMTI testing will not be performed for the given spec</ifRemoved> <requires> <require flag="opt_jvmti"/> </requires> </flag> <flag id="thr_asyncNameUpdate"> <description>Some platforms allow an O/S thread name update only to the current thread</description> <ifRemoved>On such platforms (currently Linux 2.6 and earlier) thread name updates by other threads (java.lang.Thread.setName) will not appear in the O/S</ifRemoved> </flag> <flag id="thr_extraChecks"> <description>Check for additional illegal thread states</description> <ifRemoved>Turn off in production VMs</ifRemoved> </flag> <flag id="thr_jlmHst"> <description>VM uses Extended JVMPI for Java Lock Monitor to profile locking behaviours - counts, timings and histograms only</description> <ifRemoved>Java Lock Monitor cannot be enabled</ifRemoved> </flag> <flag id="thr_lockNursery"> <description>object header does not contain the monitor word</description> <ifRemoved>object header will contain the monitor word</ifRemoved> </flag> <flag id="thr_lockNurseryFatArrays"> <description>lock nursery, but arrays always contain the monitor word</description> <ifRemoved>array object header will not contain the monitor word</ifRemoved> <requires> <require flag="thr_lockNursery"/> </requires> </flag> <flag id="thr_lockReservation"> <description>Include support for reserved locks</description> <ifRemoved>Reserved locks are not supported</ifRemoved> </flag> <flag id="thr_preemptive"> <description>The VM thread library allows preemptive context switches</description> <ifRemoved>Blocking calls may not be used</ifRemoved> </flag> <flag id="thr_smartDeflation"> <description>Keep runtime data to determine when a monitor should be deflated</description> <ifRemoved>Monitor will be deflated when nobody contended on monitor</ifRemoved> </flag> <flag id="uma_codeCoverage"> <description>This enables the required compile and link options for using gcov/lcov</description> <ifRemoved></ifRemoved> </flag> <flag id="uma_codeCoverage_bullseye"> <description>This enables the required compile and link options for using bullseye</description> <ifRemoved></ifRemoved> </flag> <flag id="uma_gnuDebugSymbols"> <description></description> <ifRemoved></ifRemoved> </flag> <flag id="uma_supportsIpv6"> <description>Supports IPv6</description> <ifRemoved>No IPv6 support (NOTE: this is note universal, only need in CE/Linux specs)</ifRemoved> </flag> <flag id="uma_tracegenc"> <description>Compile tracegenc and run it to generate tracefiles</description> <ifRemoved>Run java version of tracegenc</ifRemoved> </flag> <flag id="uma_windowsRebase"> <description>This enables the rebase targets generation for windows platforms</description> <ifRemoved></ifRemoved> </flag> <flag id="zos_3164_interoperability"> <description>Enables support for 64-bit JDK invoking 31-bit JNI natives on z/OS.</description> <ifRemoved>A 64-bit JVM will not be able to support 31-bit JNI interfaces.</ifRemoved> </flag> </flags>