Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Unified Diff: src/isolate.cc

Issue 2335343007: Pool implementation for zone segments (Closed)
Patch Set: Fixed Regexp benchmark regression Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/isolate.h ('k') | src/list.h » ('j') | src/runtime/runtime-regexp.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/isolate.cc
diff --git a/src/isolate.cc b/src/isolate.cc
index cfb6860d978b1566005f430d7854bd224dc8e9bb..c3e5eb6b3771c8a32ddbbccd465c44e22d94e2b6 100644
--- a/src/isolate.cc
+++ b/src/isolate.cc
@@ -1933,8 +1933,8 @@ class VerboseAccountingAllocator : public AccountingAllocator {
VerboseAccountingAllocator(Heap* heap, size_t sample_bytes)
: heap_(heap), last_memory_usage_(0), sample_bytes_(sample_bytes) {}
- v8::internal::Segment* AllocateSegment(size_t size) override {
- v8::internal::Segment* memory = AccountingAllocator::AllocateSegment(size);
+ v8::internal::Segment* GetSegment(size_t size) override {
+ v8::internal::Segment* memory = AccountingAllocator::GetSegment(size);
if (memory) {
size_t current = GetCurrentMemoryUsage();
if (last_memory_usage_.Value() + sample_bytes_ < current) {
@@ -1945,8 +1945,8 @@ class VerboseAccountingAllocator : public AccountingAllocator {
return memory;
}
- void FreeSegment(v8::internal::Segment* memory) override {
- AccountingAllocator::FreeSegment(memory);
+ void ReturnSegment(v8::internal::Segment* memory) override {
+ AccountingAllocator::ReturnSegment(memory);
size_t current = GetCurrentMemoryUsage();
if (current + sample_bytes_ < last_memory_usage_.Value()) {
PrintJSON(current);
@@ -2002,7 +2002,6 @@ Isolate::Isolate(bool enable_serializer)
allocator_(FLAG_trace_gc_object_stats
? new VerboseAccountingAllocator(&heap_, 256 * KB)
: new AccountingAllocator()),
- runtime_zone_(new Zone(allocator_)),
inner_pointer_to_code_cache_(NULL),
global_handles_(NULL),
eternal_handles_(NULL),
@@ -2197,9 +2196,6 @@ void Isolate::SetIsolateThreadLocals(Isolate* isolate,
Isolate::~Isolate() {
TRACE_ISOLATE(destructor);
- // Has to be called while counters_ are still alive
- runtime_zone_->DeleteKeptSegment();
-
// The entry stack must be empty when we get here.
DCHECK(entry_stack_ == NULL || entry_stack_->previous_item == NULL);
@@ -2276,9 +2272,6 @@ Isolate::~Isolate() {
delete cancelable_task_manager_;
cancelable_task_manager_ = nullptr;
- delete runtime_zone_;
- runtime_zone_ = nullptr;
-
delete allocator_;
allocator_ = nullptr;
« no previous file with comments | « src/isolate.h ('k') | src/list.h » ('j') | src/runtime/runtime-regexp.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698