mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
Devirtualize User::dropAllReferences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -48,15 +48,15 @@ public:
|
|||||||
inline op_iterator op_end() { return Operands.end(); }
|
inline op_iterator op_end() { return Operands.end(); }
|
||||||
inline op_const_iterator op_end() const { return Operands.end(); }
|
inline op_const_iterator op_end() const { return Operands.end(); }
|
||||||
|
|
||||||
// dropAllReferences() - This virtual function should be overridden to "let
|
// dropAllReferences() - This function is in charge of "letting go" of all
|
||||||
// go" of all references that this user is maintaining. This allows one to
|
// objects that this User refers to. This allows one to
|
||||||
// 'delete' a whole class at a time, even though there may be circular
|
// 'delete' a whole class at a time, even though there may be circular
|
||||||
// references... first all references are dropped, and all use counts go to
|
// references... first all references are dropped, and all use counts go to
|
||||||
// zero. Then everything is delete'd for real. Note that no operations are
|
// zero. Then everything is delete'd for real. Note that no operations are
|
||||||
// valid on an object that has "dropped all references", except operator
|
// valid on an object that has "dropped all references", except operator
|
||||||
// delete.
|
// delete.
|
||||||
//
|
//
|
||||||
virtual void dropAllReferences() {
|
inline void dropAllReferences() {
|
||||||
Operands.clear();
|
Operands.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user