#include "src/heap/marking-worklist.h"
#include <algorithm>
#include <cstddef>
#include <map>
#include "src/heap/cppgc-js/cpp-heap.h"
#include "src/heap/cppgc-js/cpp-marking-state.h"
#include "src/heap/marking-worklist-inl.h"
#include "src/objects/heap-object-inl.h"
#include "src/objects/heap-object.h"
#include "src/objects/instance-type-inl.h"
#include "src/objects/instance-type.h"
#include "src/objects/map.h"
#include "src/objects/objects-definitions.h"
namespace v8 {
namespace internal {
void MarkingWorklists::Clear() { … }
void MarkingWorklists::Print() { … }
void MarkingWorklists::CreateContextWorklists(
const std::vector<Address>& contexts) { … }
void MarkingWorklists::ReleaseContextWorklists() { … }
void MarkingWorklists::PrintWorklist(const char* worklist_name,
MarkingWorklist* worklist) { … }
constexpr Address MarkingWorklists::Local::kSharedContext;
constexpr Address MarkingWorklists::Local::kOtherContext;
constexpr std::nullptr_t MarkingWorklists::Local::kNoCppMarkingState;
MarkingWorklists::Local::Local(
MarkingWorklists* global,
std::unique_ptr<CppMarkingState> cpp_marking_state)
: … { … }
void MarkingWorklists::Local::Publish() { … }
bool MarkingWorklists::Local::IsEmpty() { … }
bool MarkingWorklists::Local::IsWrapperEmpty() const { … }
void MarkingWorklists::Local::ShareWork() { … }
void MarkingWorklists::Local::PublishWork() { … }
void MarkingWorklists::Local::MergeOnHold() { … }
bool MarkingWorklists::Local::PopContext(Tagged<HeapObject>* object) { … }
Address MarkingWorklists::Local::SwitchToContextSlow(Address context) { … }
Address MarkingWorklists::Local::SwitchToSharedForTesting() { … }
}
}