43 #include "as_config.h" 44 #include "as_memory.h" 46 #include "as_thread.h" 58 int GarbageCollect(asDWORD flags, asUINT iterations);
59 void GetStatistics(asUINT *currentSize, asUINT *totalDestroyed, asUINT *totalDetected, asUINT *newObjects, asUINT *totalNewDestroyed)
const;
60 void GCEnumCallback(
void *reference);
62 int GetObjectInGC(asUINT idx, asUINT *seqNbr,
void **obj,
asITypeInfo **type);
64 int ReportAndReleaseUndestroyedObjects();
69 asCIRCULARREFFUNC_t circularRefDetectCallbackFunc;
70 void *circularRefDetectCallbackParam;
84 enum egcDestroyState {
85 destroyGarbage_init = 0,
87 destroyGarbage_haveMore
91 clearCounters_init = 0,
104 breakCircles_haveGarbage
107 int DestroyNewGarbage();
108 int DestroyOldGarbage();
109 int IdentifyGarbageWithCyclicRefs();
112 void RemoveNewObjectAtIdx(
int idx);
113 void RemoveOldObjectAtIdx(
int idx);
114 void MoveObjectToOldList(
int idx);
115 void MoveAllObjectsToOldList();
129 egcDestroyState destroyNewState;
130 egcDestroyState destroyOldState;
131 asUINT destroyNewIdx;
132 asUINT destroyOldIdx;
134 asUINT numNewDestroyed;
135 egcDetectState detectState;
139 asUINT seqAtSweepStart[3];
140 asSMapNode_t *gcMapCursor;
145 void ReturnNode(asSMapNode_t *node);
149 DECLARECRITICALSECTION(gcCritical)
150 DECLARECRITICALSECTION(gcCollecting)
Definition: as_objecttype.h:100
Definition: as_array.h:47
Definition: as_scriptengine.h:64
Definition: angelscript.h:1011