Reviewers: Vitaly,
Description:
Improves splay.js by 7%.
Please review this at http://codereview.chromium.org/3382007/show
Affected files:
M src/heap.cc
Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index
f140f8aa65d6ec9765aad55ef780ba0a3b4a563a..3d64f330d4093f901dd53c57758ccd94296ac9b0
100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -816,6 +816,8 @@ Object* Heap::FindCodeObject(Address a) {
// Helper class for copying HeapObjects
class ScavengeVisitor: public ObjectVisitor {
public:
+ ScavengeVisitor(Heap* heap) : heap_(heap) {}
+
void VisitPointer(Object** p) { ScavengePointer(p); }
void VisitPointers(Object** start, Object** end) {
@@ -826,10 +828,11 @@ class ScavengeVisitor: public ObjectVisitor {
private:
void ScavengePointer(Object** p) {
Object* object = *p;
- if (!HEAP->InNewSpace(object)) return;
+ if (!heap_->InNewSpace(object)) return;
Heap::ScavengeObject(reinterpret_cast<HeapObject**>(p),
reinterpret_cast<HeapObject*>(object));
}
+ Heap* heap_;
};
@@ -934,7 +937,7 @@ void Heap::Scavenge() {
promotion_queue_.Initialize(new_space_.ToSpaceHigh());
is_safe_to_read_maps_ = false;
- ScavengeVisitor scavenge_visitor;
+ ScavengeVisitor scavenge_visitor(this);
// Copy roots.
IterateRoots(&scavenge_visitor, VISIT_ALL_IN_SCAVENGE);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev