summaryrefslogtreecommitdiff
path: root/deps/v8/include/cppgc/garbage-collected.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/include/cppgc/garbage-collected.h')
-rw-r--r--deps/v8/include/cppgc/garbage-collected.h40
1 files changed, 14 insertions, 26 deletions
diff --git a/deps/v8/include/cppgc/garbage-collected.h b/deps/v8/include/cppgc/garbage-collected.h
index a3839e1baa..75d127ee9c 100644
--- a/deps/v8/include/cppgc/garbage-collected.h
+++ b/deps/v8/include/cppgc/garbage-collected.h
@@ -5,8 +5,6 @@
#ifndef INCLUDE_CPPGC_GARBAGE_COLLECTED_H_
#define INCLUDE_CPPGC_GARBAGE_COLLECTED_H_
-#include <type_traits>
-
#include "cppgc/internal/api-constants.h"
#include "cppgc/platform.h"
#include "cppgc/trace-trait.h"
@@ -16,28 +14,6 @@ namespace cppgc {
class Visitor;
-namespace internal {
-
-class GarbageCollectedBase {
- public:
- // Must use MakeGarbageCollected.
- void* operator new(size_t) = delete;
- void* operator new[](size_t) = delete;
- // The garbage collector is taking care of reclaiming the object. Also,
- // virtual destructor requires an unambiguous, accessible 'operator delete'.
- void operator delete(void*) {
-#ifdef V8_ENABLE_CHECKS
- internal::Abort();
-#endif // V8_ENABLE_CHECKS
- }
- void operator delete[](void*) = delete;
-
- protected:
- GarbageCollectedBase() = default;
-};
-
-} // namespace internal
-
/**
* Base class for managed objects. Only descendent types of `GarbageCollected`
* can be constructed using `MakeGarbageCollected()`. Must be inherited from as
@@ -74,11 +50,23 @@ class GarbageCollectedBase {
* \endcode
*/
template <typename T>
-class GarbageCollected : public internal::GarbageCollectedBase {
+class GarbageCollected {
public:
using IsGarbageCollectedTypeMarker = void;
using ParentMostGarbageCollectedType = T;
+ // Must use MakeGarbageCollected.
+ void* operator new(size_t) = delete;
+ void* operator new[](size_t) = delete;
+ // The garbage collector is taking care of reclaiming the object. Also,
+ // virtual destructor requires an unambiguous, accessible 'operator delete'.
+ void operator delete(void*) {
+#ifdef V8_ENABLE_CHECKS
+ internal::Abort();
+#endif // V8_ENABLE_CHECKS
+ }
+ void operator delete[](void*) = delete;
+
protected:
GarbageCollected() = default;
};
@@ -101,7 +89,7 @@ class GarbageCollected : public internal::GarbageCollectedBase {
* };
* \endcode
*/
-class GarbageCollectedMixin : public internal::GarbageCollectedBase {
+class GarbageCollectedMixin {
public:
using IsGarbageCollectedMixinTypeMarker = void;