How the Nasal GC works: Difference between revisions

Jump to navigation Jump to search
m
Line 346: Line 346:
= bottleneck() =
= bottleneck() =


[[File:NasalBottleneckCallgraph.png|thumb|550px]]
[[File:NasalCheckBottleneckCallerGraph.png|thumb|450px|Callergraph of naCheckBottleneck()]]
 


Whenever new memory from one of the global pools is being requested via naGC_get(), naCheckBottleneck() will also be invoked:
Whenever new memory from one of the global pools is being requested via naGC_get(), naCheckBottleneck() will also be invoked:
Line 360: Line 361:


This checks if globals->bottleneck is true, and if it is, it makes sure that the bottleneck() function is only invoked after acquiring a lock.
This checks if globals->bottleneck is true, and if it is, it makes sure that the bottleneck() function is only invoked after acquiring a lock.
[[File:NasalBottleneckCallgraph.png|thumb|550px|Callgraph of bottleneck()]]


https://gitorious.org/fg/simgear/blobs/next/simgear/nasal/gc.c#line99
https://gitorious.org/fg/simgear/blobs/next/simgear/nasal/gc.c#line99

Navigation menu