Commit 00f21d3d authored by Ulan Degenbaev's avatar Ulan Degenbaev Committed by Commit Bot

[heap] Remove custom SharedFunctionInfo marking visitors.

Shared function info marking is now side-effect free, so can be handled
by base HeapVisitor.

Concurrent marker does not bailout on shared function infos.

Bug: chromium:694255
Change-Id: I41efece68f6758219fca318deb97a7f163ee9638
Reviewed-on: https://chromium-review.googlesource.com/608700
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47315}
parent 50fc4b89
......@@ -206,17 +206,6 @@ class ConcurrentMarkingVisitor final
return 0;
}
int VisitSharedFunctionInfo(Map* map, SharedFunctionInfo* object) {
if (marking_state_.IsGrey(object)) {
int size = SharedFunctionInfo::BodyDescriptorWeak::SizeOf(map, object);
VisitMapPointer(object, object->map_slot());
SharedFunctionInfo::BodyDescriptorWeak::IterateBody(object, size, this);
// Resetting of IC age counter is done on the main thread.
bailout_.Push(object);
}
return 0;
}
int VisitTransitionArray(Map* map, TransitionArray* array) {
if (!ShouldVisit(array)) return 0;
VisitMapPointer(array, array->map_slot());
......
......@@ -275,15 +275,6 @@ int MarkingVisitor<ConcreteVisitor>::VisitJSWeakCollection(
return size;
}
template <typename ConcreteVisitor>
int MarkingVisitor<ConcreteVisitor>::VisitSharedFunctionInfo(
Map* map, SharedFunctionInfo* sfi) {
ConcreteVisitor* visitor = static_cast<ConcreteVisitor*>(this);
int size = SharedFunctionInfo::BodyDescriptor::SizeOf(map, sfi);
SharedFunctionInfo::BodyDescriptor::IterateBody(sfi, size, visitor);
return size;
}
template <typename ConcreteVisitor>
int MarkingVisitor<ConcreteVisitor>::VisitBytecodeArray(Map* map,
BytecodeArray* array) {
......
......@@ -120,7 +120,6 @@ class MarkingVisitor : public HeapVisitor<int, ConcreteVisitor> {
V8_INLINE int VisitTransitionArray(Map* map, TransitionArray* object);
V8_INLINE int VisitNativeContext(Map* map, Context* object);
V8_INLINE int VisitJSWeakCollection(Map* map, JSWeakCollection* object);
V8_INLINE int VisitSharedFunctionInfo(Map* map, SharedFunctionInfo* object);
V8_INLINE int VisitBytecodeArray(Map* map, BytecodeArray* object);
V8_INLINE int VisitCode(Map* map, Code* object);
V8_INLINE int VisitMap(Map* map, Map* object);
......
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