20,741
edits
m (→reap()) |
m (→Marking) |
||
| Line 455: | Line 455: | ||
* the needGC flag is set to 0 | * the needGC flag is set to 0 | ||
= | = mark() = | ||
[[File:NasalMarkCallgraph.png|thumb|Callgraph of mark()]] | |||
All reachable objects are recursively marked using tagged naRef structures [https://gitorious.org/fg/simgear/blobs/next/simgear/nasal/data.h#line50], so that unreachable objects can be collected (i.e. because the reftag bit is not set) and freed. | All reachable objects are recursively marked using tagged naRef structures [https://gitorious.org/fg/simgear/blobs/next/simgear/nasal/data.h#line50], so that unreachable objects can be collected (i.e. because the reftag bit is not set) and freed. | ||