diff options
author | Ted Kremenek <kremenek@apple.com> | 2012-01-31 00:57:20 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2012-01-31 00:57:20 +0000 |
commit | 72e93068c9f2a2f05f5932cdd917c0d2961f11d9 (patch) | |
tree | 5590c33d36156eb2c4949a6b5d9db04093c266f2 /include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h | |
parent | 23111dcd66ee242bb5caf1ecab01bd930ee42c4c (diff) |
Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory
improvement, and a simplification of the logic for managing ProgramState objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149311 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h')
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h b/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h index 916babc98b..623fce1472 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h @@ -119,14 +119,11 @@ public: explicit ExplodedNode(const ProgramPoint &loc, ProgramStateRef state, bool IsSink) : Location(loc), State(state) { - const_cast<ProgramState*>(State)->incrementReferenceCount(); if (IsSink) Succs.setFlag(); } - ~ExplodedNode() { - const_cast<ProgramState*>(State)->decrementReferenceCount(); - } + ~ExplodedNode() {} /// getLocation - Returns the edge associated with the given node. ProgramPoint getLocation() const { return Location; } @@ -156,7 +153,7 @@ public: ProgramStateRef state, bool IsSink) { ID.Add(Loc); - ID.AddPointer(state); + ID.AddPointer(state.getPtr()); ID.AddBoolean(IsSink); } |