Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/runtime/ddr/overrides-vm
5986 views
###############################################################################
# Copyright (c) 2017, 2021 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
###############################################################################

# formats:
# opaquetype=TypeName
# fieldoverride.TypeName.FieldName=NewFieldName
# typeoverride.TypeName.FieldName=NewFieldType

# Opaque types.
opaquetype=J9SRP
opaquetype=J9WSRP
opaquetype=fj9object_t
opaquetype=iconv_t
opaquetype=j9objectclass_t
opaquetype=j9objectmonitor_t
opaquetype=UDATA

# Rename constants in J9BuildFlags as required for backwards compatibility.

fieldoverride.J9BuildFlags.J9VM_ARCH_S390=arch_s390
fieldoverride.J9BuildFlags.J9VM_ENV_DATA64=env_data64
fieldoverride.J9BuildFlags.J9VM_ENV_LITTLE_ENDIAN=env_littleEndian
fieldoverride.J9BuildFlags.J9VM_GC_COMBINATION_SPEC=gc_combinationSpec
fieldoverride.J9BuildFlags.J9VM_GC_COMPRESSED_POINTERS=gc_compressedPointers
fieldoverride.J9BuildFlags.J9VM_GC_DYNAMIC_CLASS_UNLOADING=gc_dynamicClassUnloading
fieldoverride.J9BuildFlags.J9VM_GC_FINALIZATION=gc_finalization
fieldoverride.J9BuildFlags.J9VM_GC_GENERATIONAL=gc_generational
fieldoverride.J9BuildFlags.J9VM_GC_INLINED_ALLOC_FIELDS=gc_inlinedAllocFields
fieldoverride.J9BuildFlags.J9VM_GC_LEAF_BITS=gc_leafBits
fieldoverride.J9BuildFlags.J9VM_GC_MINIMUM_OBJECT_SIZE=gc_minimumObjectSize
fieldoverride.J9BuildFlags.J9VM_GC_MODRON_COMPACTION=gc_modronCompaction
fieldoverride.J9BuildFlags.J9VM_GC_MODRON_SCAVENGER=gc_modronScavenger
fieldoverride.J9BuildFlags.J9VM_GC_MODRON_STANDARD=gc_modronStandard
fieldoverride.J9BuildFlags.J9VM_GC_NON_ZERO_TLH=gc_nonZeroTLH
fieldoverride.J9BuildFlags.J9VM_GC_REALTIME=gc_realtime
fieldoverride.J9BuildFlags.J9VM_GC_SEGREGATED_HEAP=gc_segregatedHeap
fieldoverride.J9BuildFlags.J9VM_GC_VLHGC=gc_vlhgc
fieldoverride.J9BuildFlags.J9VM_INTERP_COMPRESSED_OBJECT_HEADER=interp_compressedObjectHeader
fieldoverride.J9BuildFlags.J9VM_INTERP_DEBUG_SUPPORT=interp_debugSupport
fieldoverride.J9BuildFlags.J9VM_INTERP_FLAGS_IN_CLASS_SLOT=interp_flagsInClassSlot
fieldoverride.J9BuildFlags.J9VM_INTERP_GROWABLE_STACKS=interp_growableStacks
fieldoverride.J9BuildFlags.J9VM_INTERP_HOT_CODE_REPLACEMENT=interp_hotCodeReplacement
fieldoverride.J9BuildFlags.J9VM_INTERP_NATIVE_SUPPORT=interp_nativeSupport
fieldoverride.J9BuildFlags.J9VM_INTERP_SMALL_MONITOR_SLOT=interp_smallMonitorSlot
fieldoverride.J9BuildFlags.J9VM_JIT_32BIT_USES64BIT_REGISTERS=jit_32bitUses64bitRegisters
fieldoverride.J9BuildFlags.J9VM_JIT_FULL_SPEED_DEBUG=jit_fullSpeedDebug
fieldoverride.J9BuildFlags.J9VM_OPT_DEBUG_INFO_SERVER=opt_debugInfoServer
fieldoverride.J9BuildFlags.J9VM_OPT_JVMTI=opt_jvmti
fieldoverride.J9BuildFlags.J9VM_OPT_SHARED_CLASSES=opt_sharedClasses
fieldoverride.J9BuildFlags.J9VM_THR_LOCK_NURSERY=thr_lockNursery
fieldoverride.J9BuildFlags.J9VM_THR_LOCK_RESERVATION=thr_lockReservation

# Type overrides - mostly adding data to SRPs.
typeoverride.J9AnnotationInfo.defaultValues=J9SRP(J9AnnotationInfoEntry)
typeoverride.J9AnnotationInfo.firstAnnotation=J9SRP(J9AnnotationInfoEntry)
typeoverride.J9AnnotationInfo.firstClass=J9SRP(J9AnnotationInfoEntry)
typeoverride.J9AnnotationInfo.firstField=J9SRP(J9AnnotationInfoEntry)
typeoverride.J9AnnotationInfo.firstMethod=J9SRP(J9AnnotationInfoEntry)
typeoverride.J9AnnotationInfo.firstParameter=J9SRP(J9AnnotationInfoEntry)

typeoverride.J9AnnotationInfoEntry.annotationData=J9SRP(UDATA)
typeoverride.J9AnnotationInfoEntry.annotationType=J9SRP(J9UTF8)
typeoverride.J9AnnotationInfoEntry.memberName=J9SRP(J9UTF8)
typeoverride.J9AnnotationInfoEntry.memberSignature=J9SRP(J9UTF8)

# Retain the old type for compatibility with dumps from older VMs.
typeoverride.J9Class.ramConstantPool=UDATA*

typeoverride.J9MethodParameter.name=J9SRP(J9UTF8)

typeoverride.J9EnclosingObject.nameAndSignature=J9SRP(J9ROMNameAndSignature)

typeoverride.J9ROMClass.className=J9SRP(J9UTF8)
typeoverride.J9ROMClass.cpShapeDescription=J9SRP(U32)
typeoverride.J9ROMClass.enclosedInnerClasses=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMClass.innerClasses=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMClass.interfaces=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMClass.intermediateClassData=J9WSRP(U_8)
typeoverride.J9ROMClass.optionalInfo=J9SRP(U32)
typeoverride.J9ROMClass.outerClassName=J9SRP(J9UTF8)
typeoverride.J9ROMClass.romFields=J9SRP(J9ROMFieldShape)
typeoverride.J9ROMClass.romMethods=J9SRP(J9ROMMethod)
typeoverride.J9ROMClass.specialSplitMethodRefIndexes=J9SRP(U16)
typeoverride.J9ROMClass.staticSplitMethodRefIndexes=J9SRP(U16)
typeoverride.J9ROMClass.superclassName=J9SRP(J9UTF8)

typeoverride.J9ROMArrayClass.className=J9SRP(J9UTF8)
typeoverride.J9ROMArrayClass.cpShapeDescription=J9SRP(U32)
typeoverride.J9ROMArrayClass.enclosedInnerClasses=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMArrayClass.innerClasses=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMArrayClass.interfaces=J9SRP(J9SRP(J9UTF8))
typeoverride.J9ROMArrayClass.intermediateClassData=J9WSRP(U_8)
typeoverride.J9ROMArrayClass.optionalInfo=J9SRP(U32)
typeoverride.J9ROMArrayClass.outerClassName=J9SRP(J9UTF8)
typeoverride.J9ROMArrayClass.romFields=J9SRP(J9ROMFieldShape)
typeoverride.J9ROMArrayClass.romMethods=J9SRP(J9ROMMethod)
typeoverride.J9ROMArrayClass.superclassName=J9SRP(J9UTF8)

typeoverride.J9ROMClassCfrConstantPoolInfo.bytes=J9SRP(U_8)

typeoverride.J9ROMStringRef.utf8Data=J9SRP(J9UTF8)

typeoverride.J9ROMStaticDoubleFieldShape.initialValuePointer=J9SRP

typeoverride.J9ROMClassCfrError.constantPool=J9SRP(J9ROMClassCfrConstantPoolInfo)
typeoverride.J9ROMClassCfrError.errorMember=J9SRP(J9ROMClassCfrMember)

typeoverride.J9SharedCacheHeader.corruptFlagPtr=J9WSRP(U_8)
typeoverride.J9SharedCacheHeader.lockedPtr=J9WSRP(U_32)
typeoverride.J9SharedCacheHeader.sharedStringHead=J9SRP(J9SharedInternSRPHashTableEntry)
typeoverride.J9SharedCacheHeader.sharedStringRoot=J9SRP
typeoverride.J9SharedCacheHeader.sharedStringTail=J9SRP(J9SharedInternSRPHashTableEntry)
typeoverride.J9SharedCacheHeader.updateCountPtr=J9WSRP(UDATA)

typeoverride.J9ROMClassRef.name=J9SRP(J9UTF8)

typeoverride.J9ROMClassTOCEntry.className=J9SRP(J9UTF8)
typeoverride.J9ROMClassTOCEntry.romClass=J9SRP(J9ROMClass)

typeoverride.J9ROMFieldRef.nameAndSignature=J9SRP(J9ROMNameAndSignature)

typeoverride.J9ROMImageHeader.aotPointer=J9SRP
typeoverride.J9ROMImageHeader.firstClass=J9SRP(J9ROMClass)
typeoverride.J9ROMImageHeader.jxePointer=J9SRP(UDATA)
typeoverride.J9ROMImageHeader.tableOfContents=J9SRP(J9ROMClassTOCEntry)

typeoverride.J9ROMMethodRef.nameAndSignature=J9SRP(J9ROMNameAndSignature)

typeoverride.J9PoolPuddleList.nextAvailablePuddle=J9WSRP(J9PoolPuddle)
typeoverride.J9PoolPuddleList.nextPuddle=J9WSRP(J9PoolPuddle)

typeoverride.J9PoolPuddle.firstElementAddress=J9SRP
typeoverride.J9PoolPuddle.firstFreeSlot=J9SRP(UDATA)
typeoverride.J9PoolPuddle.nextAvailablePuddle=J9WSRP(J9PoolPuddle)
typeoverride.J9PoolPuddle.nextPuddle=J9WSRP(J9PoolPuddle)
typeoverride.J9PoolPuddle.prevAvailablePuddle=J9WSRP(J9PoolPuddle)
typeoverride.J9PoolPuddle.prevPuddle=J9WSRP(J9PoolPuddle)

typeoverride.J9Pool.puddleList=J9WSRP(J9PoolPuddleList)

typeoverride.J9ROMNameAndSignature.name=J9SRP(J9UTF8)
typeoverride.J9ROMNameAndSignature.signature=J9SRP(J9UTF8)

typeoverride.J9ROMMethodTypeRef.signature=J9SRP(J9UTF8)

typeoverride.J9ROMConstantDynamicRef.nameAndSignature=J9SRP(J9ROMNameAndSignature)

# AVL leftChild and rightChild pointers aren't regular wide pointers.
# They have AVL balance data encoded in them - so treat
# them as IDATAs and handle them in the DDR AVL code.
typeoverride.J9AVLTreeNode.leftChild=IDATA
typeoverride.J9AVLTreeNode.rightChild=IDATA

typeoverride.J9MEMAVLTreeNode.leftChild=IDATA
typeoverride.J9MEMAVLTreeNode.rightChild=IDATA

typeoverride.J9MemorySegment.leftChild=IDATA
typeoverride.J9MemorySegment.rightChild=IDATA

typeoverride.J9JITHashTable.leftChild=IDATA
typeoverride.J9JITHashTable.rightChild=IDATA

typeoverride.J9ObjectMemorySegment.leftChild=IDATA
typeoverride.J9ObjectMemorySegment.rightChild=IDATA

typeoverride.CacheletWrapper.dataStart=I_32

typeoverride.J9MethodDebugInfo.srpToVarInfo=J9SRP(U_8)

# Type override for SRPs in shared string intern table.
typeoverride.J9SharedInternSRPHashTableEntry.nextNode=J9SRP(J9SharedInternSRPHashTableEntry)
typeoverride.J9SharedInternSRPHashTableEntry.prevNode=J9SRP(J9SharedInternSRPHashTableEntry)
typeoverride.J9SharedInternSRPHashTableEntry.utf8SRP=J9SRP(J9UTF8)
typeoverride.J9SRPHashTableInternal.nodePool=J9SRP(J9SimplePool)
typeoverride.J9SRPHashTableInternal.nodes=J9SRP(J9SRP)

# Type override for SRPs in J9SimplePoolFreeList.
typeoverride.J9SimplePoolFreeList.next=J9SRP(J9SimplePoolFreeList)
typeoverride.J9SimplePoolFreeList.simplePool=J9SRP(J9SimplePool)

# Type override for SRPs in J9SimplePool.
typeoverride.J9SimplePool.blockEnd=J9SRP(U_8)
typeoverride.J9SimplePool.firstFreeSlot=J9SRP(U_8)
typeoverride.J9SimplePool.freeList=J9SRP(J9SimplePoolFreeList)

# Type override for SharedClassCache (SH_CacheMap).
typeoverride.J9SharedClassConfig.sharedClassCache=SH_CacheMap*