Index: Source/platform/heap/GCInfo.h |
diff --git a/Source/platform/heap/GCInfo.h b/Source/platform/heap/GCInfo.h |
index bcade77509418d32c065dd5e63d25ac615f09ec8..3ff9cc60c0b2d4765e0f752eb793cfe237383eb6 100644 |
--- a/Source/platform/heap/GCInfo.h |
+++ b/Source/platform/heap/GCInfo.h |
@@ -113,14 +113,13 @@ extern PLATFORM_EXPORT GCInfo const** s_gcInfoTable; |
struct GCInfo { |
bool hasFinalizer() const { return m_nonTrivialFinalizer; } |
bool hasVTable() const { return m_hasVTable; } |
+ const String& className() const { return m_className; } |
TraceCallback m_trace; |
FinalizationCallback m_finalize; |
bool m_nonTrivialFinalizer; |
bool m_hasVTable; |
-#if ENABLE(GC_PROFILING) |
// |m_className| is held as a reference to prevent dtor being called at exit. |
const String& m_className; |
-#endif |
}; |
#if ENABLE(ASSERT) |
@@ -134,6 +133,8 @@ public: |
static void init(); |
static void shutdown(); |
+ static size_t gcInfoIndex() { return s_gcInfoIndex; } |
+ |
// The (max + 1) GCInfo index supported. |
// We assume that 14 bits is enough to represent all possible types: during |
// telemetry runs, we see about 1000 different types, looking at the output |
@@ -170,9 +171,7 @@ struct GCInfoAtBase { |
FinalizerTrait<T>::finalize, |
FinalizerTrait<T>::nonTrivialFinalizer, |
WTF::IsPolymorphic<T>::value, |
-#if ENABLE(GC_PROFILING) |
TypenameStringTrait<T>::get() |
-#endif |
}; |
RETURN_GCINFO_INDEX(); |
} |