diff --git a/gdb-port/parser.py b/gdb-port/parser.py index bf6eb22191cad886b51c125fbdb684039473d8cd..16145334833f5fb6019a30eee1d1af47fb0e8d4d 100644 --- a/gdb-port/parser.py +++ b/gdb-port/parser.py @@ -385,7 +385,8 @@ class ParserStack: print("commit_at_push: ev_list:", ev_list) # DEBUG print("commit_at_push: current_parser:", current_parser) # DEBUG print("commit_at_push: current_event:", current_event) # DEBUG - # Degenerate case: there is a single push event on ev_list. In that case, we do nothing but increment self.committed + # Degenerate cases: there is a single push event on ev_list. In that case, we do nothing but increment self.committed + # A pop followed by a push will also be effectively a no-op, with the difference in bytes allocated being zero (but potentially not always: does longjmp() mess with this?) push_allocs = {} if len(ev_list) > 1: @@ -399,6 +400,7 @@ class ParserStack: # Most recent event is a push event, and we have no information on its allocations yet. So we only increment self.committed up to the index of the previous event self.committed = len(self.stack_events)-2 + print("commit_at_push: self.committed after update:", self.committed) # DEBUG # TODO: do we want to increment mem use in commit_at_*, or do we want to return the dict and have it taken care of by push()/pop()? return push_allocs