20,741
edits
m (→bottleneck()) |
m (→bottleneck()) |
||
| Line 346: | Line 346: | ||
= bottleneck() = | = bottleneck() = | ||
[[File: | [[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 | ||