diff options
Diffstat (limited to 'src/3rdparty/v8/src/zone-inl.h')
-rw-r--r-- | src/3rdparty/v8/src/zone-inl.h | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/src/3rdparty/v8/src/zone-inl.h b/src/3rdparty/v8/src/zone-inl.h index ee96ec0..e312b20 100644 --- a/src/3rdparty/v8/src/zone-inl.h +++ b/src/3rdparty/v8/src/zone-inl.h @@ -40,7 +40,7 @@ namespace internal { inline void* Zone::New(int size) { - ASSERT(ZoneScope::nesting() > 0); + ASSERT(scope_nesting_ > 0); // Round up the requested size to fit the alignment. size = RoundUp(size, kAlignment); @@ -90,30 +90,17 @@ ZoneSplayTree<Config>::~ZoneSplayTree() { // Reset the root to avoid unneeded iteration over all tree nodes // in the destructor. For a zone-allocated tree, nodes will be // freed by the Zone. - SplayTree<Config, ZoneListAllocationPolicy>::ResetRoot(); + SplayTree<Config, ZoneAllocationPolicy>::ResetRoot(); } -// TODO(isolates): for performance reasons, this should be replaced with a new -// operator that takes the zone in which the object should be -// allocated. -void* ZoneObject::operator new(size_t size) { - return ZONE->New(static_cast<int>(size)); -} - void* ZoneObject::operator new(size_t size, Zone* zone) { return zone->New(static_cast<int>(size)); } - -inline void* ZoneListAllocationPolicy::New(int size) { - return ZONE->New(size); -} - - -template <typename T> -void* ZoneList<T>::operator new(size_t size) { - return ZONE->New(static_cast<int>(size)); +inline void* ZoneAllocationPolicy::New(size_t size) { + ASSERT(zone_); + return zone_->New(static_cast<int>(size)); } @@ -123,19 +110,14 @@ void* ZoneList<T>::operator new(size_t size, Zone* zone) { } -ZoneScope::ZoneScope(Isolate* isolate, ZoneScopeMode mode) - : isolate_(isolate), mode_(mode) { - isolate_->zone()->scope_nesting_++; +ZoneScope::ZoneScope(Zone* zone, ZoneScopeMode mode) + : zone_(zone), mode_(mode) { + zone_->scope_nesting_++; } bool ZoneScope::ShouldDeleteOnExit() { - return isolate_->zone()->scope_nesting_ == 1 && mode_ == DELETE_ON_EXIT; -} - - -int ZoneScope::nesting() { - return Isolate::Current()->zone()->scope_nesting_; + return zone_->scope_nesting_ == 1 && mode_ == DELETE_ON_EXIT; } |