public class Entrypoint
extends java.lang.Object
implements java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
private java.util.HashMap<java.lang.String,ClassModel> |
allFieldsClasses |
private java.util.Set<java.lang.String> |
arrayFieldAccesses |
private java.util.Set<java.lang.String> |
arrayFieldArrayLengthUsed |
private java.util.Set<java.lang.String> |
arrayFieldAssignments |
private java.util.List<MethodModel> |
calledMethods |
private ClassModel |
classModel |
private java.lang.Object |
kernelInstance |
private static java.util.logging.Logger |
logger |
private MethodModel |
methodModel |
private java.util.HashMap<java.lang.String,ClassModel> |
objectArrayFieldsClasses |
private java.util.List<ClassModel.ClassModelField> |
referencedClassModelFields |
private java.util.Set<java.lang.String> |
referencedFieldNames |
private java.util.List<java.lang.reflect.Field> |
referencedFields |
private boolean |
usesAtomic32
True is an indication to use the atomics pragmas
|
private boolean |
usesAtomic64 |
private boolean |
usesByteWrites
True is an indication to use the byte addressable store pragma
|
private boolean |
usesDoubles
True is an indication to use the fp64 pragma
|
Constructor and Description |
---|
Entrypoint(ClassModel _classModel,
MethodModel _methodModel,
java.lang.Object _k) |
private static java.util.logging.Logger logger
private final java.util.List<ClassModel.ClassModelField> referencedClassModelFields
private final java.util.List<java.lang.reflect.Field> referencedFields
private ClassModel classModel
private java.lang.Object kernelInstance
private final java.util.Set<java.lang.String> referencedFieldNames
private final java.util.Set<java.lang.String> arrayFieldAssignments
private final java.util.Set<java.lang.String> arrayFieldAccesses
private final java.util.HashMap<java.lang.String,ClassModel> objectArrayFieldsClasses
private final java.util.HashMap<java.lang.String,ClassModel> allFieldsClasses
private final java.util.Set<java.lang.String> arrayFieldArrayLengthUsed
private final java.util.List<MethodModel> calledMethods
private final MethodModel methodModel
private boolean usesDoubles
private boolean usesByteWrites
private boolean usesAtomic32
private boolean usesAtomic64
public Entrypoint(ClassModel _classModel, MethodModel _methodModel, java.lang.Object _k) throws AparapiException
AparapiException
public boolean requiresDoublePragma()
public boolean requiresByteAddressableStorePragma()
public void setRequiresAtomics32Pragma(boolean newVal)
public void setRequiresAtomics64Pragma(boolean newVal)
public boolean requiresAtomic32Pragma()
public boolean requiresAtomic64Pragma()
public java.lang.Object getKernelInstance()
public void setKernelInstance(java.lang.Object _k)
public java.util.Map<java.lang.String,ClassModel> getObjectArrayFieldsClasses()
public static java.lang.reflect.Field getFieldFromClassHierarchy(java.lang.Class<?> _clazz, java.lang.String _name) throws AparapiException
AparapiException
public ClassModel getOrUpdateAllClassAccesses(java.lang.String className) throws AparapiException
AparapiException
public ClassModel.ClassModelMethod resolveAccessorCandidate(InstructionSet.MethodCall _methodCall, ClassModel.ConstantPool.MethodEntry _methodEntry) throws AparapiException
AparapiException
public void updateObjectMemberFieldAccesses(java.lang.String className, ClassModel.ConstantPool.FieldEntry field) throws AparapiException
AparapiException
ClassModel.ClassModelMethod resolveCalledMethod(InstructionSet.MethodCall methodCall, ClassModel classModel) throws AparapiException
AparapiException
private boolean noCL(ClassModel.ClassModelMethod m)
private ClassModel.ConstantPool.FieldEntry getSimpleGetterField(MethodModel method)
public java.util.List<ClassModel.ClassModelField> getReferencedClassModelFields()
public java.util.List<java.lang.reflect.Field> getReferencedFields()
public java.util.List<MethodModel> getCalledMethods()
public java.util.Set<java.lang.String> getReferencedFieldNames()
public java.util.Set<java.lang.String> getArrayFieldAssignments()
public java.util.Set<java.lang.String> getArrayFieldAccesses()
public java.util.Set<java.lang.String> getArrayFieldArrayLengthUsed()
public MethodModel getMethodModel()
public ClassModel getClassModel()
public MethodModel getCallTarget(ClassModel.ConstantPool.MethodEntry _methodEntry, boolean _isSpecial)
Entrypoint cloneForKernel(java.lang.Object _k) throws AparapiException
AparapiException