Class WasmGCClassGenerator
java.lang.Object
org.teavm.backend.wasm.generate.gc.classes.WasmGCClassGenerator
- All Implemented Interfaces:
WasmGCClassInfoProvider,WasmGCInitializerContributor
public class WasmGCClassGenerator
extends Object
implements WasmGCClassInfoProvider, WasmGCInitializerContributor
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal WasmGCStandardClassesfinal WasmGCStringPoolfinal WasmGCTypeMapperFields inherited from interface org.teavm.backend.wasm.generate.gc.classes.WasmGCClassInfoProvider
ARRAY_DATA_FIELD_OFFSET, CLASS_FIELD_OFFSET, CUSTOM_FIELD_OFFSETS, MONITOR_FIELD_OFFSET, STRING_POOL_ENTRY_OFFSET, VIRTUAL_METHOD_OFFSET, VT_FIELD_OFFSET, WEAK_REFERENCE_OFFSET -
Constructor Summary
ConstructorsConstructorDescriptionWasmGCClassGenerator(WasmModule module, ClassReaderSource classSource, ClassReaderSource originalClassSource, ClassHierarchy hierarchy, DependencyInfo dependencyInfo, WasmFunctionTypes functionTypes, TagRegistry tagRegistry, ClassMetadataRequirements metadataRequirements, WasmGCVirtualTableProvider virtualTables, BaseWasmFunctionRepository functionProvider, WasmGCNameProvider names, ClassInitializerInfo classInitializerInfo, List<WasmGCCustomTypeMapperFactory> customTypeMapperFactories) -
Method Summary
Modifier and TypeMethodDescriptionvoidcontributeToInitializer(WasmFunction function) voidgetArrayConstructor(ValueType type) intintintintintintintintintintintgetClassInfo(ValueType type) intintintintintintintintintintintintintgetFieldIndex(FieldReference fieldRef) intgetHeapAlignment(String className) intgetHeapFieldOffset(FieldReference fieldRef) intgetHeapSize(String className) getMultiArrayConstructor(int depth) intintintgetStaticFieldLocation(FieldReference fieldRef) intbooleanprocess()voidsetCompactMode(boolean compactMode) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.teavm.backend.wasm.generate.gc.classes.WasmGCClassInfoProvider
getClassInfo
-
Field Details
-
strings
-
standardClasses
-
typeMapper
-
-
Constructor Details
-
WasmGCClassGenerator
public WasmGCClassGenerator(WasmModule module, ClassReaderSource classSource, ClassReaderSource originalClassSource, ClassHierarchy hierarchy, DependencyInfo dependencyInfo, WasmFunctionTypes functionTypes, TagRegistry tagRegistry, ClassMetadataRequirements metadataRequirements, WasmGCVirtualTableProvider virtualTables, BaseWasmFunctionRepository functionProvider, WasmGCNameProvider names, ClassInitializerInfo classInitializerInfo, List<WasmGCCustomTypeMapperFactory> customTypeMapperFactories)
-
-
Method Details
-
setCompactMode
public void setCompactMode(boolean compactMode) -
getSupertypeProvider
-
process
public boolean process() -
contributeToInitializerDefinitions
- Specified by:
contributeToInitializerDefinitionsin interfaceWasmGCInitializerContributor
-
contributeToInitializer
- Specified by:
contributeToInitializerin interfaceWasmGCInitializerContributor
-
getClassInfo
- Specified by:
getClassInfoin interfaceWasmGCClassInfoProvider
-
getArrayConstructor
- Specified by:
getArrayConstructorin interfaceWasmGCClassInfoProvider
-
getMultiArrayConstructor
- Specified by:
getMultiArrayConstructorin interfaceWasmGCClassInfoProvider
-
getClassTagOffset
public int getClassTagOffset() -
getClassArrayItemOffset
public int getClassArrayItemOffset()- Specified by:
getClassArrayItemOffsetin interfaceWasmGCClassInfoProvider
-
getClassFlagsOffset
public int getClassFlagsOffset()- Specified by:
getClassFlagsOffsetin interfaceWasmGCClassInfoProvider
-
getClassVtFieldOffset
public int getClassVtFieldOffset()- Specified by:
getClassVtFieldOffsetin interfaceWasmGCClassInfoProvider
-
getClassSupertypeFunctionOffset
public int getClassSupertypeFunctionOffset()- Specified by:
getClassSupertypeFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getClassEnclosingClassOffset
public int getClassEnclosingClassOffset()- Specified by:
getClassEnclosingClassOffsetin interfaceWasmGCClassInfoProvider
-
getClassDeclaringClassOffset
public int getClassDeclaringClassOffset()- Specified by:
getClassDeclaringClassOffsetin interfaceWasmGCClassInfoProvider
-
getClassParentOffset
public int getClassParentOffset()- Specified by:
getClassParentOffsetin interfaceWasmGCClassInfoProvider
-
getClassNameOffset
public int getClassNameOffset()- Specified by:
getClassNameOffsetin interfaceWasmGCClassInfoProvider
-
getClassSimpleNameOffset
public int getClassSimpleNameOffset()- Specified by:
getClassSimpleNameOffsetin interfaceWasmGCClassInfoProvider
-
getClassCanonicalNameOffset
public int getClassCanonicalNameOffset()- Specified by:
getClassCanonicalNameOffsetin interfaceWasmGCClassInfoProvider
-
getClassAnnotationsOffset
public int getClassAnnotationsOffset()- Specified by:
getClassAnnotationsOffsetin interfaceWasmGCClassInfoProvider
-
getClassInterfacesOffset
public int getClassInterfacesOffset()- Specified by:
getClassInterfacesOffsetin interfaceWasmGCClassInfoProvider
-
getClassFieldsOffset
public int getClassFieldsOffset()- Specified by:
getClassFieldsOffsetin interfaceWasmGCClassInfoProvider
-
getClassMethodsOffset
public int getClassMethodsOffset()- Specified by:
getClassMethodsOffsetin interfaceWasmGCClassInfoProvider
-
getClassInstantiatorOffset
public int getClassInstantiatorOffset()- Specified by:
getClassInstantiatorOffsetin interfaceWasmGCClassInfoProvider
-
getClassInitializerOffset
public int getClassInitializerOffset()- Specified by:
getClassInitializerOffsetin interfaceWasmGCClassInfoProvider
-
getPreviousRegularClassOffset
public int getPreviousRegularClassOffset()- Specified by:
getPreviousRegularClassOffsetin interfaceWasmGCClassInfoProvider
-
getLastRegularClassGlobal
- Specified by:
getLastRegularClassGlobalin interfaceWasmGCClassInfoProvider
-
getNewArrayFunctionOffset
public int getNewArrayFunctionOffset()- Specified by:
getNewArrayFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getCloneOffset
public int getCloneOffset()- Specified by:
getCloneOffsetin interfaceWasmGCClassInfoProvider
-
getServicesOffset
public int getServicesOffset()- Specified by:
getServicesOffsetin interfaceWasmGCClassInfoProvider
-
getThrowableNativeOffset
public int getThrowableNativeOffset()- Specified by:
getThrowableNativeOffsetin interfaceWasmGCClassInfoProvider
-
getArrayVirtualTableStructure
- Specified by:
getArrayVirtualTableStructurein interfaceWasmGCClassInfoProvider
-
getArrayLengthOffset
public int getArrayLengthOffset()- Specified by:
getArrayLengthOffsetin interfaceWasmGCClassInfoProvider
-
getArrayGetOffset
public int getArrayGetOffset()- Specified by:
getArrayGetOffsetin interfaceWasmGCClassInfoProvider
-
getArraySetOffset
public int getArraySetOffset()- Specified by:
getArraySetOffsetin interfaceWasmGCClassInfoProvider
-
getArrayCopyOffset
public int getArrayCopyOffset()- Specified by:
getArrayCopyOffsetin interfaceWasmGCClassInfoProvider
-
getEnumConstantsFunctionOffset
public int getEnumConstantsFunctionOffset()- Specified by:
getEnumConstantsFunctionOffsetin interfaceWasmGCClassInfoProvider
-
getFieldIndex
- Specified by:
getFieldIndexin interfaceWasmGCClassInfoProvider
-
getHeapFieldOffset
- Specified by:
getHeapFieldOffsetin interfaceWasmGCClassInfoProvider
-
getHeapSize
- Specified by:
getHeapSizein interfaceWasmGCClassInfoProvider
-
getHeapAlignment
- Specified by:
getHeapAlignmentin interfaceWasmGCClassInfoProvider
-
reflection
- Specified by:
reflectionin interfaceWasmGCClassInfoProvider
-
getStaticFieldLocation
- Specified by:
getStaticFieldLocationin interfaceWasmGCClassInfoProvider
-
getObjectArrayType
-
getGetArrayClassFunction
- Specified by:
getGetArrayClassFunctionin interfaceWasmGCClassInfoProvider
-