| 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();
|
|
|