V8 Project
v8::internal::StringTableCleaner< finalize_external_strings > Class Template Reference
+ Inheritance diagram for v8::internal::StringTableCleaner< finalize_external_strings >:
+ Collaboration diagram for v8::internal::StringTableCleaner< finalize_external_strings >:

Public Member Functions

 StringTableCleaner (Heap *heap)
 
virtual void VisitPointers (Object **start, Object **end)
 
int PointersRemoved ()
 

Private Attributes

Heapheap_
 
int pointers_removed_
 

Detailed Description

template<bool finalize_external_strings>
class v8::internal::StringTableCleaner< finalize_external_strings >

Definition at line 1815 of file mark-compact.cc.

Constructor & Destructor Documentation

◆ StringTableCleaner()

template<bool finalize_external_strings>
v8::internal::StringTableCleaner< finalize_external_strings >::StringTableCleaner ( Heap heap)
inlineexplicit

Member Function Documentation

◆ PointersRemoved()

template<bool finalize_external_strings>
int v8::internal::StringTableCleaner< finalize_external_strings >::PointersRemoved ( )
inline

Definition at line 1837 of file mark-compact.cc.

1837  {
1838  DCHECK(!finalize_external_strings);
1839  return pointers_removed_;
1840  }
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, and v8::internal::StringTableCleaner< finalize_external_strings >::pointers_removed_.

Referenced by v8::internal::MarkCompactCollector::AfterMarking().

+ Here is the caller graph for this function:

◆ VisitPointers()

template<bool finalize_external_strings>
virtual void v8::internal::StringTableCleaner< finalize_external_strings >::VisitPointers ( Object **  start,
Object **  end 
)
inlinevirtual

Definition at line 1819 of file mark-compact.cc.

1819  {
1820  // Visit all HeapObject pointers in [start, end).
1821  for (Object** p = start; p < end; p++) {
1822  Object* o = *p;
1823  if (o->IsHeapObject() &&
1824  !Marking::MarkBitFrom(HeapObject::cast(o)).Get()) {
1825  if (finalize_external_strings) {
1826  DCHECK(o->IsExternalString());
1827  heap_->FinalizeExternalString(String::cast(*p));
1828  } else {
1830  }
1831  // Set the entry to the_hole_value (as deleted).
1832  *p = heap_->the_hole_value();
1833  }
1834  }
1835  }
void FinalizeExternalString(String *string)
Definition: heap-inl.h:307
kSerializedDataOffset Object
Definition: objects-inl.h:5322

References DCHECK, v8::internal::Heap::FinalizeExternalString(), v8::internal::StringTableCleaner< finalize_external_strings >::heap_, and v8::internal::StringTableCleaner< finalize_external_strings >::pointers_removed_.

+ Here is the call graph for this function:

Member Data Documentation

◆ heap_

template<bool finalize_external_strings>
Heap* v8::internal::StringTableCleaner< finalize_external_strings >::heap_
private

◆ pointers_removed_

template<bool finalize_external_strings>
int v8::internal::StringTableCleaner< finalize_external_strings >::pointers_removed_
private

The documentation for this class was generated from the following file: