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

Unified Diff: vm/heap.cc

Issue 10409038: Remove the special stub code region as we don't need it anymore. With the new frame layout conventi… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 7 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 | « vm/heap.h ('k') | vm/object.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: vm/heap.cc
===================================================================
--- vm/heap.cc (revision 7768)
+++ vm/heap.cc (working copy)
@@ -32,9 +32,6 @@
DEFINE_FLAG(int, code_heap_size, Heap::kCodeHeapSizeInMB,
"code heap size in MB,"
"e.g: --code_heap_size=8 allocates a 8MB code heap");
-DEFINE_FLAG(int, stub_code_heap_size, Heap::kStubCodeHeapSizeInKB,
- "stub code heap size in KB,"
- "e.g: --stub_code_heap_size=256 allocates a 256KB stub code heap");
Heap::Heap() {
new_space_ = new Scavenger(this,
@@ -42,7 +39,6 @@
kNewObjectAlignmentOffset);
old_space_ = new PageSpace(this, (FLAG_old_gen_heap_size * MB));
code_space_ = new PageSpace(this, (FLAG_code_heap_size * MB), true);
- stub_code_space_ = new PageSpace(this, (FLAG_stub_code_heap_size * KB), true);
}
@@ -50,7 +46,6 @@
delete new_space_;
delete old_space_;
delete code_space_;
- delete stub_code_space_;
}
@@ -62,12 +57,10 @@
}
CollectGarbage(kNew);
if (FLAG_verbose_gc) {
- OS::PrintErr("New space (%dk) Old space (%dk) "
- "Code space (%dk) Stub Code space(%dk)\n",
+ OS::PrintErr("New space (%dk) Old space (%dk) Code space (%dk)\n",
(new_space_->in_use() / KB),
(old_space_->in_use() / KB),
- (code_space_->in_use() / KB),
- (stub_code_space_->in_use() / KB));
+ (code_space_->in_use() / KB));
}
addr = new_space_->TryAllocate(size);
if (addr != 0) {
@@ -83,12 +76,10 @@
if (addr == 0) {
CollectAllGarbage();
if (FLAG_verbose_gc) {
- OS::PrintErr("New space (%dk) Old space (%dk) "
- "Code space (%dk) Stub Code space(%dk)\n",
+ OS::PrintErr("New space (%dk) Old space (%dk) Code space (%dk)\n",
(new_space_->in_use() / KB),
(old_space_->in_use() / KB),
- (code_space_->in_use() / KB),
- (stub_code_space_->in_use() / KB));
+ (code_space_->in_use() / KB));
}
addr = old_space_->TryAllocate(size);
if (addr == 0) {
@@ -118,8 +109,7 @@
bool Heap::Contains(uword addr) const {
return new_space_->Contains(addr) ||
old_space_->Contains(addr) ||
- code_space_->Contains(addr) ||
- stub_code_space_->Contains(addr);
+ code_space_->Contains(addr);
}
@@ -128,11 +118,6 @@
}
-bool Heap::StubCodeContains(uword addr) const {
- return stub_code_space_->Contains(addr);
-}
-
-
void Heap::IterateNewPointers(ObjectPointerVisitor* visitor) {
new_space_->VisitObjectPointers(visitor);
}
@@ -141,7 +126,6 @@
void Heap::IterateOldPointers(ObjectPointerVisitor* visitor) {
old_space_->VisitObjectPointers(visitor);
code_space_->VisitObjectPointers(visitor);
- stub_code_space_->VisitObjectPointers(visitor);
}
@@ -150,11 +134,6 @@
}
-void Heap::IterateStubCodePointers(ObjectPointerVisitor* visitor) {
- stub_code_space_->VisitObjectPointers(visitor);
-}
-
-
RawInstructions* Heap::FindObjectInCodeSpace(FindObjectVisitor* visitor) {
// The code heap can only have RawInstructions objects.
RawObject* raw_obj = code_space_->FindObject(visitor);
@@ -164,15 +143,6 @@
}
-RawInstructions* Heap::FindObjectInStubCodeSpace(FindObjectVisitor* visitor) {
- // The stub code heap can only have RawInstructions objects.
- RawObject* raw_obj = stub_code_space_->FindObject(visitor);
- ASSERT((raw_obj == Object::null()) ||
- (raw_obj->ptr()->class_->ptr()->instance_kind_ == kInstructions));
- return reinterpret_cast<RawInstructions*>(raw_obj);
-}
-
-
void Heap::CollectGarbage(Space space, ApiCallbacks api_callbacks) {
bool invoke_api_callbacks = (api_callbacks == kInvokeApiCallbacks);
switch (space) {
@@ -182,14 +152,10 @@
case kOld:
old_space_->MarkSweep(invoke_api_callbacks);
break;
- case kDartCode:
+ case kCode:
UNIMPLEMENTED();
code_space_->MarkSweep(invoke_api_callbacks);
break;
- case kStubCode:
- UNIMPLEMENTED();
- stub_code_space_->MarkSweep(invoke_api_callbacks);
- break;
default:
UNREACHABLE();
}
@@ -212,7 +178,6 @@
old_space_->MarkSweep(kInvokeApiCallbacks);
// TODO(iposva): Merge old and code space.
// code_space_->MarkSweep(kInvokeApiCallbacks);
- // stub_code_space_->MarkSweep(kInvokeApiCallbacks);
}
@@ -238,7 +203,6 @@
new_space_->VisitObjectPointers(&visitor);
old_space_->VisitObjectPointers(&visitor);
code_space_->VisitObjectPointers(&visitor);
- stub_code_space_->VisitObjectPointers(&visitor);
// Only returning a value so that Heap::Validate can be called from an ASSERT.
return true;
}
« no previous file with comments | « vm/heap.h ('k') | vm/object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698