/******************************************************************************* * Copyright (c) 1998, 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 *******************************************************************************/ #ifndef J9CFG_H #define J9CFG_H /* * @ddr_namespace: map_to_type=J9BuildFlags * @ddr_options: valuesandbuildflags */ #ifdef __cplusplus extern "C" { #endif #include "omrcfg.h" #define J9_COPYRIGHT_STRING "(c) Copyright 1991, ${J9VM_CURRENT_YEAR} IBM Corp. and others." #define EsVersionMajor ${J9VM_VERSION_MAJOR} #define EsVersionMinor ${J9VM_VERSION_MINOR}0 #define EsVersionString "${J9VM_VERSION}" #define EsExtraVersionString "" #define JAVA_SPEC_VERSION ${JAVA_SPEC_VERSION} #define JAVA_SPEC_VERSION_STRING "${JAVA_SPEC_VERSION}" /* Note: The following defines record flags used to build the VM. */ /* Changing them here does not remove the feature and may cause linking problems. */ #cmakedefine J9VM_ARCH_AARCH64 #cmakedefine J9VM_ARCH_ARM #cmakedefine J9VM_ARCH_POWER #cmakedefine J9VM_ARCH_RISCV #cmakedefine J9VM_ARCH_S390 #cmakedefine J9VM_ARCH_X86 #cmakedefine J9VM_BUILD__SE6_PACKAGE #cmakedefine J9VM_BUILD__VS12_AND_HIGHER #cmakedefine J9VM_BUILD_AUTOBUILD #cmakedefine J9VM_BUILD_CMAKE #cmakedefine J9VM_BUILD_DROP_TO_HURSLEY #cmakedefine J9VM_BUILD_DROP_TO_PHOENIX #cmakedefine J9VM_BUILD_DROP_TO_TORONTO #cmakedefine J9VM_BUILD_FIPS #cmakedefine J9VM_BUILD_GC_CONTINUOUS #cmakedefine J9VM_BUILD_J2ME #cmakedefine J9VM_BUILD_J2SE #cmakedefine J9VM_BUILD_J9VM_DOC #cmakedefine J9VM_BUILD_JAVA5 #cmakedefine J9VM_BUILD_JAVA6 #cmakedefine J9VM_BUILD_JAVA60_26 #cmakedefine J9VM_BUILD_JAVA6PROXY #cmakedefine J9VM_BUILD_JAVA7 #cmakedefine J9VM_BUILD_JAVA70_27 #cmakedefine J9VM_BUILD_JAVA7BASIC #cmakedefine J9VM_BUILD_JAVA7RAW #cmakedefine J9VM_BUILD_JAVA8 #cmakedefine J9VM_BUILD_JAVA8RAW #cmakedefine J9VM_BUILD_JAVA9 #cmakedefine J9VM_BUILD_NEW_COMPILER #cmakedefine J9VM_BUILD_OPENJ9 #cmakedefine J9VM_BUILD_OUNCEMAKE #cmakedefine J9VM_BUILD_PRODUCT #cmakedefine J9VM_BUILD_REALTIME #cmakedefine J9VM_BUILD_STAGE_OTTAWA_VMLAB #cmakedefine J9VM_BUILD_STAGE_TORONTO_LAB #cmakedefine J9VM_BUILD_UMA #cmakedefine J9VM_BUILD_VM_CONTINUOUS #cmakedefine J9VM_COMPILER_PROMOTION #cmakedefine J9VM_DANGER_MEMLEAKS_BROKEN #cmakedefine J9VM_ENV_ADVANCE_TOOLCHAIN #cmakedefine J9VM_ENV_CALL_VIA_TABLE #cmakedefine J9VM_ENV_DATA64 #cmakedefine J9VM_ENV_DLPAR #cmakedefine J9VM_ENV_GCC #cmakedefine J9VM_ENV_HAS_FPU #cmakedefine J9VM_ENV_LITTLE_ENDIAN #cmakedefine J9VM_ENV_SHARED_LIBS_CALLEE_GLOBAL_TABLE_SETUP #cmakedefine J9VM_ENV_SHARED_LIBS_USE_GLOBAL_TABLE #cmakedefine J9VM_ENV_SSE2_SUPPORT_DETECTION #cmakedefine J9VM_ENV_Z_TPF #cmakedefine J9VM_GC_ADAPTIVE_TENURING #cmakedefine J9VM_GC_ALIGN_OBJECTS #cmakedefine J9VM_GC_ALLOCATION_TAX #cmakedefine J9VM_GC_ALWAYS_CALL_OBJECT_ACCESS_BARRIER #cmakedefine J9VM_GC_ALWAYS_CALL_WRITE_BARRIER #cmakedefine J9VM_GC_BATCH_CLEAR_TLH #cmakedefine J9VM_GC_CLASSES_ON_HEAP #cmakedefine J9VM_GC_COMBINATION_SPEC #cmakedefine J9VM_GC_COMPRESSED_POINTER_BARRIER #cmakedefine J9VM_GC_COMPRESSED_POINTERS #cmakedefine J9VM_GC_CONCURRENT_SWEEP #cmakedefine J9VM_GC_DEBUG_ASSERTS #cmakedefine J9VM_GC_DYNAMIC_CLASS_UNLOADING #cmakedefine J9VM_GC_DYNAMIC_NEW_SPACE_SIZING #cmakedefine J9VM_GC_ENABLE_DOUBLE_MAP #cmakedefine J9VM_GC_FINALIZATION #cmakedefine J9VM_GC_FRAGMENTED_HEAP #cmakedefine J9VM_GC_GENERATIONAL #cmakedefine J9VM_GC_HEAP_CARD_TABLE #cmakedefine J9VM_GC_INLINED_ALLOC_FIELDS #cmakedefine J9VM_GC_JNI_ARRAY_CACHE #cmakedefine J9VM_GC_LARGE_OBJECT_AREA #cmakedefine J9VM_GC_LEAF_BITS #cmakedefine J9VM_GC_MINIMUM_OBJECT_SIZE #cmakedefine J9VM_GC_MODRON_COMPACTION #cmakedefine J9VM_GC_MODRON_CONCURRENT_MARK #cmakedefine J9VM_GC_MODRON_GC #cmakedefine J9VM_GC_MODRON_SCAVENGER #cmakedefine J9VM_GC_MODRON_STANDARD #cmakedefine J9VM_GC_MODRON_TRACE #cmakedefine J9VM_GC_MODRON_VERBOSE #cmakedefine J9VM_GC_NEW_SPINLOCK_SUPPORT #cmakedefine J9VM_GC_NON_ZERO_TLH #cmakedefine J9VM_GC_OBJECT_ACCESS_BARRIER #cmakedefine J9VM_GC_REALTIME #cmakedefine J9VM_GC_SEGREGATED_HEAP #cmakedefine J9VM_GC_STRICT_OMR #cmakedefine J9VM_GC_SUBPOOLS #cmakedefine J9VM_GC_SUBPOOLS_ALIAS #cmakedefine J9VM_GC_THREAD_LOCAL_HEAP #cmakedefine J9VM_GC_TILTED_NEW_SPACE #cmakedefine J9VM_GC_TLH_PREFETCH_FTA #cmakedefine J9VM_GC_USE_INLINE_ALLOCATE #cmakedefine J9VM_GC_VERIFY_ACCESS_BARRIER #cmakedefine J9VM_GC_VLHGC #cmakedefine J9VM_INTERP_AOT_COMPILE_SUPPORT #cmakedefine J9VM_INTERP_AOT_RUNTIME_SUPPORT #cmakedefine J9VM_INTERP_ATOMIC_FREE_JNI #cmakedefine J9VM_INTERP_ATOMIC_FREE_JNI_USES_FLUSH #cmakedefine J9VM_INTERP_BYTECODE_PREVERIFICATION #cmakedefine J9VM_INTERP_BYTECODE_VERIFICATION #cmakedefine J9VM_INTERP_COMPRESSED_OBJECT_HEADER #cmakedefine J9VM_INTERP_CUSTOM_SPIN_OPTIONS #cmakedefine J9VM_INTERP_DEBUG_SUPPORT #cmakedefine J9VM_INTERP_ENABLE_JIT_ON_DESKTOP #cmakedefine J9VM_INTERP_FLAGS_IN_CLASS_SLOT #cmakedefine J9VM_INTERP_FLOAT_SUPPORT #cmakedefine J9VM_INTERP_FLOATMATH_TRACING #cmakedefine J9VM_INTERP_FLOATMATHLIB_TRACING #cmakedefine J9VM_INTERP_GP_HANDLER #cmakedefine J9VM_INTERP_GROWABLE_STACKS #cmakedefine J9VM_INTERP_HOT_CODE_REPLACEMENT #cmakedefine J9VM_INTERP_JIT_ON_BY_DEFAULT #cmakedefine J9VM_INTERP_JNI_SUPPORT #cmakedefine J9VM_INTERP_MINIMAL_JCL #cmakedefine J9VM_INTERP_MINIMAL_JNI #cmakedefine J9VM_INTERP_NATIVE_SUPPORT #cmakedefine J9VM_INTERP_NEW_HEADER_SHAPE #cmakedefine J9VM_INTERP_PROFILING_BYTECODES #cmakedefine J9VM_INTERP_ROMABLE_AOT_SUPPORT #cmakedefine J9VM_INTERP_SIG_QUIT_THREAD #cmakedefine J9VM_INTERP_SIG_QUIT_THREAD_USES_SEMAPHORES #cmakedefine J9VM_INTERP_SMALL_MONITOR_SLOT #cmakedefine J9VM_INTERP_TRACING #cmakedefine J9VM_INTERP_TWO_PASS_EXCLUSIVE #cmakedefine J9VM_INTERP_UPDATE_VMCTRACING #cmakedefine J9VM_INTERP_USE_SPLIT_SIDE_TABLES #cmakedefine J9VM_INTERP_USE_UNSAFE_HELPER #cmakedefine J9VM_INTERP_VERBOSE #cmakedefine J9VM_IVE_JXE_FILE_RELOCATOR #cmakedefine J9VM_IVE_JXE_IN_PLACE_RELOCATOR #cmakedefine J9VM_IVE_JXE_NATIVES #cmakedefine J9VM_IVE_JXE_OERELOCATOR #cmakedefine J9VM_IVE_JXE_STREAMING_RELOCATOR #cmakedefine J9VM_IVE_MEMORY_SPACE_HELPERS #cmakedefine J9VM_IVE_ROM_IMAGE_HELPERS #cmakedefine J9VM_JIT_32BIT_USES64BIT_REGISTERS #cmakedefine J9VM_JIT_C_HELPERS #cmakedefine J9VM_JIT_CLASS_UNLOAD_RWMONITOR #cmakedefine J9VM_JIT_DYNAMIC_LOOP_TRANSFER #cmakedefine J9VM_JIT_FREE_SYSTEM_STACK_POINTER #cmakedefine J9VM_JIT_FULL_SPEED_DEBUG #cmakedefine J9VM_JIT_GC_ON_RESOLVE_SUPPORT #cmakedefine J9VM_JIT_IA32_FIXED_FRAME #cmakedefine J9VM_JIT_MICRO_JIT #cmakedefine J9VM_JIT_NATHELP_USES_CLASS_OBJECTS #cmakedefine J9VM_JIT_NEEDS_TRAMPOLINES #cmakedefine J9VM_JIT_NEW_DUAL_HELPERS #cmakedefine J9VM_JIT_NEW_INSTANCE_PROTOTYPE #cmakedefine J9VM_JIT_ON_STACK_REPLACEMENT #cmakedefine J9VM_JIT_REQUIRES_TRAP_HANDLER #cmakedefine J9VM_JIT_RUNTIME_INSTRUMENTATION #cmakedefine J9VM_JIT_SMALL #cmakedefine J9VM_JIT_SUPPORTS_DIRECT_JNI #cmakedefine J9VM_JIT_TRANSACTION_DIAGNOSTIC_THREAD_BLOCK #cmakedefine J9VM_MATH_DIRECT_HELPERS #cmakedefine J9VM_OPT_ANNOTATIONS #cmakedefine J9VM_OPT_BIG_INTEGER #cmakedefine J9VM_OPT_CRIU_SUPPORT #cmakedefine J9VM_OPT_CUDA #cmakedefine J9VM_OPT_DEBUG_INFO_SERVER #cmakedefine J9VM_OPT_DEBUG_JSR45_SUPPORT #cmakedefine J9VM_OPT_DEPRECATED_METHODS #cmakedefine J9VM_OPT_DMA_NATIVES #cmakedefine J9VM_OPT_DYNAMIC_LOAD_SUPPORT #cmakedefine J9VM_OPT_FIPS #cmakedefine J9VM_OPT_FRAGMENT_RAM_CLASSES #cmakedefine J9VM_OPT_INLINE_JSRS #cmakedefine J9VM_OPT_INVARIANT_INTERNING #cmakedefine J9VM_OPT_JAVA_OFFLOAD_SUPPORT #cmakedefine J9VM_OPT_JITSERVER #cmakedefine J9VM_OPT_JVMTI #cmakedefine J9VM_OPT_JXE_LOAD_SUPPORT #cmakedefine J9VM_OPT_MEMORY_CHECK_SUPPORT #cmakedefine J9VM_OPT_METHOD_HANDLE #cmakedefine J9VM_OPT_METHOD_HANDLE_COMMON #cmakedefine J9VM_OPT_MODULE #cmakedefine J9VM_OPT_MULTI_VM #cmakedefine J9VM_OPT_NATIVE_CHARACTER_CONVERTER #cmakedefine J9VM_OPT_NATIVE_LOCALE_SUPPORT #cmakedefine J9VM_OPT_NEW_OBJECT_HASH #cmakedefine J9VM_OPT_NEW_ROM_CLASS_BUILDER #cmakedefine J9VM_OPT_NO_CLASSLOADERS #cmakedefine J9VM_OPT_NRR #cmakedefine J9VM_OPT_OPENJDK_METHODHANDLE #cmakedefine J9VM_OPT_OPENJDK_THREAD_SUPPORT #cmakedefine J9VM_OPT_PACKED #cmakedefine J9VM_OPT_PANAMA #cmakedefine J9VM_OPT_PHP_SUPPORT #cmakedefine J9VM_OPT_REFLECT #cmakedefine J9VM_OPT_RESOURCE_MANAGED #cmakedefine J9VM_OPT_ROM_IMAGE_SUPPORT #cmakedefine J9VM_OPT_SHARED_CLASSES #cmakedefine J9VM_OPT_SIDECAR #cmakedefine J9VM_OPT_SRP_AVL_TREE_SUPPORT #cmakedefine J9VM_OPT_STRING_COMPRESSION #cmakedefine J9VM_OPT_SWITCH_STACKS_FOR_SIGNAL_HANDLER #cmakedefine J9VM_OPT_TEMP_NEW_INTERFACE_INVOCATION #cmakedefine J9VM_OPT_USE_FFI #cmakedefine J9VM_OPT_USE_FFI_ONLY #cmakedefine J9VM_OPT_VALHALLA_VALUE_TYPES #cmakedefine J9VM_OPT_VEE_SUPPORT #cmakedefine J9VM_OPT_VM_LOCAL_STORAGE #cmakedefine J9VM_OPT_ZERO #cmakedefine J9VM_OPT_ZIP_SUPPORT #cmakedefine J9VM_OPT_ZLIB_COMPRESSION #cmakedefine J9VM_OPT_ZLIB_SUPPORT #cmakedefine J9VM_PORT_OMRSIG_SUPPORT #cmakedefine J9VM_PORT_RUNTIME_INSTRUMENTATION #cmakedefine J9VM_PORT_SIGNAL_SUPPORT #cmakedefine J9VM_PORT_ZOS_CEEHDLRSUPPORT #cmakedefine J9VM_PROF_COUNT_ARGS_TEMPS #cmakedefine J9VM_PROF_EVENT_REPORTING #cmakedefine J9VM_PROF_JVMTI #cmakedefine J9VM_SIZE_SMALL_CODE #cmakedefine J9VM_SIZE_SMALL_OS_STACK #cmakedefine J9VM_SIZE_SMALL_RAM #cmakedefine J9VM_SIZE_OPTIMIZE_SEND_TARGETS #cmakedefine J9VM_TEMP_ALIGN_CLASS_SLOT #cmakedefine J9VM_TEMP_KEEP_FLAGS_SLOT #cmakedefine J9VM_THR_ASYNC_NAME_UPDATE #cmakedefine J9VM_THR_EXTRA_CHECKS #cmakedefine J9VM_THR_JLM_HST #cmakedefine J9VM_THR_LOCK_NURSERY #cmakedefine J9VM_THR_LOCK_NURSERY_FAT_ARRAYS #cmakedefine J9VM_THR_LOCK_RESERVATION #cmakedefine J9VM_THR_PREEMPTIVE #cmakedefine J9VM_THR_SMART_DEFLATION #cmakedefine J9VM_ZOS_3164_INTEROPERABILITY /* CMake build only supports OMR DDR */ #define J9VM_OPT_USE_OMR_DDR #if defined(J9VM_ENV_DATA64) #define J9VM_OPT_MULTI_LAYER_SHARED_CLASS_CACHE #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* J9CFG_H */