16void Untrack(CodeEntry* entry) {
17 if (
Address** heap_object_location_address =
18 entry->heap_object_location_address()) {
20 *heap_object_location_address =
nullptr;
32 Address** heap_object_location_address =
34 *heap_object_location_address =
handle.location();
41 std::vector<CodeEntry*> alive_entries;
45 if (!*entry->heap_object_location_address()) {
50 alive_entries.push_back(entry);
Address ** heap_object_location_address()
static void Destroy(Address *location)
static void MakeWeak(Address *location, void *parameter, WeakCallbackInfo< void >::Callback weak_callback, v8::WeakCallbackType type)
IndirectHandle< Object > Create(Tagged< Object > value)
GlobalHandles * global_handles() const
void Sweep(Listener *listener)
void Track(CodeEntry *entry, DirectHandle< AbstractCode > code)
std::vector< CodeEntry * > entries_
V8_INLINE IndirectHandle< T > handle(Tagged< T > object, Isolate *isolate)
#define DCHECK(condition)
virtual void OnHeapObjectDeletion(CodeEntry *entry)=0