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*