Commit 53d68701 authored by Michael Lippautz's avatar Michael Lippautz Committed by Commit Bot

[heap] Change inlining for full MC marking visitor

Inline pointers visitation instead of handling recursive marking.

Bug: chromium:738831
Change-Id: I0840258988c3097119f6299f0e1b6759b55fbd27
Reviewed-on: https://chromium-review.googlesource.com/559346
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46414}
parent 49e110b1
...@@ -1044,11 +1044,11 @@ class MarkCompactMarkingVisitor final ...@@ -1044,11 +1044,11 @@ class MarkCompactMarkingVisitor final
: MarkingVisitor<MarkCompactMarkingVisitor>(collector->heap(), : MarkingVisitor<MarkCompactMarkingVisitor>(collector->heap(),
collector) {} collector) {}
inline void VisitPointer(HeapObject* host, Object** p) final { V8_INLINE void VisitPointer(HeapObject* host, Object** p) final {
MarkObjectByPointer(host, p); MarkObjectByPointer(host, p);
} }
inline void VisitPointers(HeapObject* host, Object** start, V8_INLINE void VisitPointers(HeapObject* host, Object** start,
Object** end) final { Object** end) final {
// Mark all objects pointed to in [start, end). // Mark all objects pointed to in [start, end).
const int kMinRangeForMarkingRecursion = 64; const int kMinRangeForMarkingRecursion = 64;
...@@ -1082,7 +1082,7 @@ class MarkCompactMarkingVisitor final ...@@ -1082,7 +1082,7 @@ class MarkCompactMarkingVisitor final
protected: protected:
// Visit all unmarked objects pointed to by [start, end). // Visit all unmarked objects pointed to by [start, end).
// Returns false if the operation fails (lack of stack space). // Returns false if the operation fails (lack of stack space).
V8_INLINE bool VisitUnmarkedObjects(HeapObject* host, Object** start, inline bool VisitUnmarkedObjects(HeapObject* host, Object** start,
Object** end) { Object** end) {
// Return false is we are close to the stack limit. // Return false is we are close to the stack limit.
StackLimitCheck check(heap_->isolate()); StackLimitCheck check(heap_->isolate());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment