ZoneAllocator ============= .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: final class ZoneAllocator Allocates memory zone information. Fields ------ ambiguousWithoutIndices ^^^^^^^^^^^^^^^^^^^^^^^ .. java:field:: public boolean ambiguousWithoutIndices :outertype: ZoneAllocator When true, a single variable name is not enough to designate one zone, and therefore the name must be shown with indices. commonName ^^^^^^^^^^ .. java:field:: public String commonName :outertype: ZoneAllocator endOffset ^^^^^^^^^ .. java:field:: public int endOffset :outertype: ZoneAllocator infiniteEndOffset ^^^^^^^^^^^^^^^^^ .. java:field:: public boolean infiniteEndOffset :outertype: ZoneAllocator intZoneInfos ^^^^^^^^^^^^ .. java:field:: public TapList intZoneInfos :outertype: ZoneAllocator nextIntZone ^^^^^^^^^^^ .. java:field:: public int nextIntZone :outertype: ZoneAllocator nextPtrZone ^^^^^^^^^^^ .. java:field:: public int nextPtrZone :outertype: ZoneAllocator nextRealZone ^^^^^^^^^^^^ .. java:field:: public int nextRealZone :outertype: ZoneAllocator nextZone ^^^^^^^^ .. java:field:: public int nextZone :outertype: ZoneAllocator ptrZoneInfos ^^^^^^^^^^^^ .. java:field:: public TapList ptrZoneInfos :outertype: ZoneAllocator realZoneInfos ^^^^^^^^^^^^^ .. java:field:: public TapList realZoneInfos :outertype: ZoneAllocator startOffset ^^^^^^^^^^^ .. java:field:: public int startOffset :outertype: ZoneAllocator targetSymbolTable ^^^^^^^^^^^^^^^^^ .. java:field:: public SymbolTable targetSymbolTable :outertype: ZoneAllocator The SymbolTable that will host the table of all ZoneInfo's created by this ZoneAllocator zoneInfos ^^^^^^^^^ .. java:field:: public TapList zoneInfos :outertype: ZoneAllocator Constructors ------------ ZoneAllocator ^^^^^^^^^^^^^ .. java:constructor:: public ZoneAllocator(SymbolTable targetSymbolTable) :outertype: ZoneAllocator Methods ------- addArgRank ^^^^^^^^^^ .. java:method:: public void addArgRank(TapList zonesTree, int argRank) :outertype: ZoneAllocator addVarDecl ^^^^^^^^^^ .. java:method:: public void addVarDecl(TapList zonesTree, SymbolDecl symbolDecl) :outertype: ZoneAllocator allocateOneZone ^^^^^^^^^^^^^^^ .. java:method:: public TapList allocateOneZone(WrapperTypeSpec type, int accessTypeModifier, TapList accesses, WrapperTypeSpec rootType, int accessArgRankOrResultZero, boolean isInt, boolean isReal, boolean isPtr, boolean isAllocatable, ZoneInfo targetZoneOf) :outertype: ZoneAllocator allocateZones ^^^^^^^^^^^^^ .. java:method:: public TapList allocateZones(WrapperTypeSpec type, int typeModifier, TapList declExtraInfo, TapList accesses, WrapperTypeSpec rootType, int accessArgRankOrResultZero, boolean isInt, boolean isReal, boolean isPtr, ZoneInfo targetZoneOf, SymbolTable declSymbolTable, TapList> dejaVu) :outertype: ZoneAllocator Allocates a new set of zones for all objects accessed by the given "accesses", which must all be of the same type "type+typeModifier+declExtraInfo". In general, "accesses" is a singleton, containing only one declared symbol. However they may be several in the case of COMMON, BIND(C), EQUIVALENCE... :param rootType: the root type, i.e. the type of the root symbol(s) declared :param accessArgRankOrResultZero: when the (singleton) accesses is a formal argument, its rank, and zero for function result. :param isReal: true to force the allocated zones below to have the real kind. :param isInt: true to force the allocated zones below to have the integer kind. :param isPtr: true to force the allocated zones below to have the pointer kind. :param targetZoneOf: when non-null, all allocated zones below will be marked as initial destinations of this pointer zone. :param declSymbolTable: the SymbolTable of the main declaration location. Only used for a dubious last attempt to fix size modifiers, probably too late anyway as COMMON alignements are already fixed. :param dejaVu: mechanism to avoid infinite looping in recursive types. :return: the tree of all zone ranks allocated for the given "accesses". extractAllZoneInfosAsExternalShape ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public ZoneInfo[] extractAllZoneInfosAsExternalShape() :outertype: ZoneAllocator extractAllZoneInfosIntoTargetSymbolTable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void extractAllZoneInfosIntoTargetSymbolTable(TapList toAllocatedZones) :outertype: ZoneAllocator lastAllocated ^^^^^^^^^^^^^ .. java:method:: public ZoneInfo lastAllocated() :outertype: ZoneAllocator setAllocateZonesForPointed ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setAllocateZonesForPointed(boolean allocateZonesForPointed) :outertype: ZoneAllocator When set to true, allocation of a zone z1 for pointer p triggers allocation of a zone z2 for *p, so that z1 initial default destination is z2. setCommonName ^^^^^^^^^^^^^ .. java:method:: public void setCommonName(String commonName) :outertype: ZoneAllocator setNeedsAccessTree ^^^^^^^^^^^^^^^^^^ .. java:method:: public void setNeedsAccessTree(boolean needsAccessTree) :outertype: ZoneAllocator setOffsets ^^^^^^^^^^ .. java:method:: public void setOffsets(int startOffset, int endOffset, boolean infiniteEndOffset) :outertype: ZoneAllocator setPossiblyMultiple ^^^^^^^^^^^^^^^^^^^ .. java:method:: public void setPossiblyMultiple(boolean possiblyMultiple) :outertype: ZoneAllocator setZoneNumber4 ^^^^^^^^^^^^^^ .. java:method:: public void setZoneNumber4(int[] zoneNumber4) :outertype: ZoneAllocator