| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Turns out some genius disabled warnings for RetainerProfile.c in the build
system. That would have been good to know about five silent type mismatch
crashes ago.. :)
|
|
|
|
|
|
|
|
|
| |
Currently it is necessary for user code to expend at least one extra bit in
the closure header just to know whether visit() should return true or
false, to indicate if children should be traversed.
The generic traversal code already has this information in the visited bit
so simply pass it to the visit callback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's simply no need anymore for this whole business. Instead of
individually traversing roots in retainRoot() we just push them all onto
the stack and traverse everything in one go.
This feature was not really used anyways. There is an
`ASSERT(isEmptyWorkStack(ts))` at the top of retainRoot() which means there
really can't ever have been any chunks at the toplevel.
The only place where this was probably used is in traversePushStack but
only way back when we were still using explicit recursion on the
C callstack.
Since the code was changed to use an explicit traversal-stack these
stack-chunks can never escape one call to traversePushStack anymore. See
commit 5f1d949ab9 ("Remove explicit recursion in retainer profiling")
|
| |
|
|
|