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

#Configuration for J9DDR blob generator.
#Format is Java properties format.
#
#ddrblob.headers should give a comma-separated list of headers to read. Properties are
#set for each header like this:
#ddrblob.<header>.prop=value
#
#Properties for each header:
# * constantbehaviour - How to handle any #defined constants. Options are "builder" - attach any constants to the
#                       structure directly above the constant, "pseudostructure" - creates a pseudo-structure
#                       called <Header>Constants containing all the constants. Defaults to builder.
#

ddrblob.name=VM
ddrblob.headers=bcverify.h,\
cfr.h,\
thrtypes.h,\
dbg.h,\
dmpsup.h,\
filecache.h,\
ibmjvmti.h,\
j9.h,\
omravl.h,\
omravldefines.h,\
j9cfg.h,\
j9consts.h,\
j9cp.h,\
j9generated.h,\
omrhashtable.h,\
omrhookable.h,\
j9modifiers_api.h,\
j9nonbuilder.h,\
j9javaaccessflags.h,\
j9nongenerated.h,\
omrthread_generated.h,\
j9pool.h,\
j9port.h,\
j9simplepool.h,\
j9srphashtable.h,\
omrthread.h,\
j9thread.h,\
j9trace.h,\
j9dump.h,\
j9user.h,\
j9vmconstantpool.h,\
java_lang_Class.h,\
jithook_internal.h,\
jcltrace.h,\
jlm.h,\
jni.h,\
jvmri.h,\
jvmti.h,\
jvmti_internal.h,\
jvmtiInternal.h,\
memcheck.h,\
monhelp.h,\
rasdump_internal.h,\
romcookie.h,\
sharedconsts.h,\
shcdatatypes.h,\
shrinit.h,\
shcflags.h,\
spacesaving.h,\
thread_api.h,\
trctrigger.h,\
trcqueue.h,\
ute.h,\
ute_core.h, \
rastrace_internal.h,\
rastrace_external.h,\
j9rastrace.h ,\
ute_dataformat.h, \
ute_module.h,\
vm_internal.h,\
vmhook_internal.h,\
vmi.h,\
zipsup.h,\
libhlp.h,\
j9vmls.h,\
util_api.h, \
omrutil.h, \
omr.h, \
omragent_internal.h,\
omrmemcategories.h, \
omrtrace.h, \
omrgcconsts.h, \
omrmodroncore.h, \
shchelp.h

ddrblob.j9generated.h.constantbehaviour=builder
ddrblob.j9nonbuilder.h.constantbehaviour=builder
ddrblob.j9nongenerated.h.constantbehaviour=builder
ddrblob.omrthread_generated.h.constantbehaviour=builder
#ddrblob.j9generated.h.constantbehaviour.pseudostructure=J9Generated
ddrblob.j9pool.h.constantbehaviour=builder
ddrblob.cfr.h.constantbehaviour=builder
ddrblob.thrtypes.h.constantbehaviour=builder
ddrblob.j9simplepool.h.constantbehaviour=builder
ddrblob.j9dump.h.constantbehaviour=builder

#Override default pseudostructure name for j9javaaccessflags.h
ddrblob.j9javaaccessflags.h.constantbehaviour.pseudostructure=J9JavaAccessFlags

#Override default pseudostructure name for j9consts.h
ddrblob.j9consts.h.constantbehaviour.pseudostructure=J9Consts

#Override default pseudostructure name for omrmodroncore.h
ddrblob.omrmodroncore.h.constantbehaviour.pseudostructure=J9ModroncoreConstants

#Override default pseudostructure name for omrhashtable.h
ddrblob.omrhashtable.h.constantbehaviour.pseudostructure=J9HashtableConstants

#Override default pseudostructure name for shcflags.h
ddrblob.shcflags.h.constantbehaviour.pseudostructure=ShCFlags

#Override default pseudostructure name for dbgsharedcache.h
ddrblob.dbgsharedcache.h.constantbehaviour.pseudostructure=SharedCacheConsts

#Override default pseudostructure name for omravldefines.h
ddrblob.omravldefines.h.constantbehaviour.pseudostructure=J9AVLConsts

#j9cfg.h contains the build flags
ddrblob.j9cfg.h.constantbehaviour=J9BuildFlags

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

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

ddrblob.typeoverride.J9MethodParameter.name=J9SRP(struct J9UTF8)

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

ddrblob.typeoverride.J9EnclosingObject.nameAndSignature=J9SRP(struct J9ROMNameAndSignature)

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

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

ddrblob.typeoverride.J9ROMClassCfrConstantPoolInfo.bytes=J9SRP(U_8)

ddrblob.typeoverride.J9ROMStringRef.utf8Data=J9SRP(struct J9UTF8)

ddrblob.typeoverride.J9ROMStaticDoubleFieldShape.initialValuePointer=J9SRP(void)

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

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

ddrblob.typeoverride.J9ROMClassRef.name=J9SRP(struct J9UTF8)

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

ddrblob.typeoverride.J9ROMFieldRef.nameAndSignature=J9SRP(struct J9ROMNameAndSignature)

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

ddrblob.typeoverride.J9ROMMethodRef.nameAndSignature=J9SRP(struct J9ROMNameAndSignature)

ddrblob.typeoverride.J9VariableInfo.name=J9SRP(struct J9UTF8)
ddrblob.typeoverride.J9VariableInfo.signature=J9SRP(struct J9UTF8)

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

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

ddrblob.typeoverride.J9Pool.puddleList=J9WSRP(struct J9PoolPuddleList)

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

ddrblob.typeoverride.J9ROMMethodTypeRef.signature=J9SRP(struct J9UTF8)

ddrblob.typeoverride.J9ROMConstantDynamicRef.nameAndSignature=J9SRP(struct 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.
ddrblob.typeoverride.J9AVLTreeNode.leftChild:IDATA
ddrblob.typeoverride.J9AVLTreeNode.rightChild:IDATA

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

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

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

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

ddrblob.typeoverride.CacheletWrapper.dataStart=I_32

ddrblob.typeoverride.J9MethodDebugInfo.srpToVarInfo=J9SRP(struct J9VariableInfo)

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

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

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

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