#include <collectable.h>

Public Member Functions |
|
| ScripterExport | Collectable () |
| virtual ScripterExport | ~Collectable () |
| ScripterExport void * | operator new (size_t sz, char flag) |
| ScripterExport void * | operator new (size_t sz) |
| ScripterExport void | operator delete (void *val) |
| ScripterExport void | operator delete (void *val, char flag) |
| virtual void | collect ()=0 |
| virtual void | gc_trace () |
| ScripterExport void | make_collectable () |
| void | make_permanent () |
| void | make_static () |
| int | is_marked () |
| int | is_not_marked () |
| int | is_garbage () |
| int | is_permanent () |
| void | mark_in_use () |
| void | unmark_in_use () |
| int | has_heap_copy () |
| int | is_in_heap () |
| int | is_on_stack () |
Static Public Member Functions |
|
| static ScripterExport void | for_all_values (void(*map_fn)(Value *val), ValueMapper *mapper=NULL, ValueMetaClass *c=NULL) |
| static ScripterExport void * | heap_alloc (size_t sz) |
| static ScripterExport void * | stack_alloc (size_t sz) |
| static ScripterExport void | heap_free (void *p) |
| static void | mark () |
| static void | sweep () |
| static void | setup (size_t) |
| static ScripterExport void | gc () |
| static void | coalesce_free_list () |
| static void | close_down () |
| static void | drop_maxwrapper_refs () |
| static ScripterExport void | push_alloc_stack_frame () |
| static ScripterExport void | pop_alloc_stack_frame () |
| static ScripterExport ULONGLONG | get_num_values_created () |
Public Attributes |
|
| Collectable * | next |
| Collectable * | prev |
| byte | flags |
| byte | flags2 |
| short | flags3 |
Static Public Attributes |
|
| static CRITICAL_SECTION | heap_update |
| static Collectable * | collectable_list |
| static Collectable * | permanent_list |
| static free_mem * | free_list [GC_NUM_SUBLISTS] |
| static size_t | heap_allocated |
| static size_t | heap_size |
| static
ScripterExport collectable_state |
state |
| static ScripterExport bool | fullCollectNextHoldFlush |
| static bool | gc_light |
| static bool | in_gc |
| static HANDLE | hGCCompletedEvent |
| ScripterExport Collectable | ( | ) |
| virtual ScripterExport ~Collectable | ( | ) | [virtual] |
| static ScripterExport void for_all_values | ( | void(*)(Value *val) | map_fn, |
| ValueMapper * | mapper = NULL, |
||
| ValueMetaClass * | c = NULL |
||
| ) | [static] |
| static ScripterExport void* heap_alloc | ( | size_t | sz | ) | [static] |
| static ScripterExport void* stack_alloc | ( | size_t | sz | ) | [static] |
| static ScripterExport void heap_free | ( | void * | p | ) | [static] |
| ScripterExport void* operator new | ( | size_t | sz, |
| char | flag | ||
| ) |
| ScripterExport void* operator new | ( | size_t | sz | ) | [inline] |
{ return heap_alloc(sz); }
| ScripterExport void operator delete | ( | void * | val | ) |
| ScripterExport void operator delete | ( | void * | val, |
| char | flag | ||
| ) | [inline] |
{ Collectable::operator delete(val); }
| static void mark | ( | ) | [static] |
| static void sweep | ( | ) | [static] |
| static void setup | ( | size_t | ) | [static] |
| static ScripterExport void gc | ( | ) | [static] |
| static void coalesce_free_list | ( | ) | [static] |
| virtual void collect | ( | ) | [pure virtual] |
Implemented in SourcePositionWrapper, SourceFileWrapper, CodeTree, Maker, CodeBlock, Parser, StructMethod, PluginMethod, Boolean, MSPlugin, Listener, and MSZipPackage.
| virtual void gc_trace | ( | ) | [inline, virtual] |
Reimplemented in SourcePositionWrapper, SourceFileWrapper, CodeTree, Maker, CodeBlock, Parser, StructMethod, PluginMethod, MeshSelection, MSPlugin, and Listener.
{ mark_in_use(); } // the marking scanner, default is mark me in use
| static void close_down | ( | ) | [static] |
| static void drop_maxwrapper_refs | ( | ) | [static] |
| ScripterExport void make_collectable | ( | ) |
| void make_permanent | ( | ) |
| void make_static | ( | ) |
| static ScripterExport void push_alloc_stack_frame | ( | ) | [static] |
| static ScripterExport void pop_alloc_stack_frame | ( | ) | [static] |
| int is_marked | ( | ) | [inline] |
{ return (flags & GC_IN_USE); }
| int is_not_marked | ( | ) | [inline] |
{
DbgAssert (!is_on_stack()); // debugging new stack-based collector
return !is_marked();
}
| int is_garbage | ( | ) | [inline] |
{ return is_not_marked(); }
| int is_permanent | ( | ) | [inline] |
{ return (flags & GC_PERMANENT); }
| void mark_in_use | ( | ) | [inline] |
{ flags |= GC_IN_USE; }
| void unmark_in_use | ( | ) | [inline] |
{ flags &= ~GC_IN_USE; }
| int has_heap_copy | ( | ) | [inline] |
{ return (flags & (GC_IN_HEAP | GC_MIGRATED_TO_HEAP | GC_STATIC)); }
| int is_in_heap | ( | ) | [inline] |
{ return (flags & GC_IN_HEAP); }
| int is_on_stack | ( | ) | [inline] |
{ return (flags & GC_ON_STACK); }
| static ScripterExport ULONGLONG get_num_values_created | ( | ) | [static] |
CRITICAL_SECTION heap_update
[static] |
| byte flags |
Reimplemented in SourceFileWrapper, MSPlugin, Listener, and MSZipPackage.
size_t heap_allocated
[static] |
size_t heap_size
[static] |
ScripterExport collectable_state state
[static] |
ScripterExport bool fullCollectNextHoldFlush
[static] |
bool gc_light
[static] |
bool in_gc
[static] |
HANDLE hGCCompletedEvent
[static] |