Index: tools/clang/blink_gc_plugin/RecordInfo.cpp |
diff --git a/tools/clang/blink_gc_plugin/RecordInfo.cpp b/tools/clang/blink_gc_plugin/RecordInfo.cpp |
index f0e2ade715bb63255b5d0e34eaf54097de1c28b7..1eef514f929a49ad9f4c31449caaa657efaf5dad 100644 |
--- a/tools/clang/blink_gc_plugin/RecordInfo.cpp |
+++ b/tools/clang/blink_gc_plugin/RecordInfo.cpp |
@@ -510,14 +510,6 @@ bool RecordInfo::NeedsFinalization() { |
if (!does_need_finalization_) |
return does_need_finalization_; |
- // Processing a class with a safely-ignorable destructor. |
- NamespaceDecl* ns = |
- dyn_cast<NamespaceDecl>(record_->getDeclContext()); |
- if (ns && Config::HasIgnorableDestructor(ns->getName(), name_)) { |
- does_need_finalization_ = kFalse; |
- return does_need_finalization_; |
- } |
- |
CXXDestructorDecl* dtor = record_->getDestructor(); |
if (dtor && dtor->isUserProvided()) |
return does_need_finalization_; |
@@ -545,10 +537,7 @@ bool RecordInfo::NeedsFinalization() { |
// - it is allocated on the managed heap, |
// - it is derived from a class that needs tracing, or |
// - it contains fields that need tracing. |
-// TODO: Defining NeedsTracing based on whether a class defines a trace method |
-// (of the proper signature) over approximates too much. The use of transition |
-// types causes some classes to have trace methods without them needing to be |
-// traced. |
+// |
TracingStatus RecordInfo::NeedsTracing(Edge::NeedsTracingOption option) { |
if (IsGCAllocated()) |
return TracingStatus::Needed(); |