|
V8 Project
|
#include <mark-compact.h>
Collaboration diagram for v8::internal::CodeFlusher:Public Member Functions | |
| CodeFlusher (Isolate *isolate) | |
| void | AddCandidate (SharedFunctionInfo *shared_info) |
| void | AddCandidate (JSFunction *function) |
| void | AddOptimizedCodeMap (SharedFunctionInfo *code_map_holder) |
| void | EvictOptimizedCodeMap (SharedFunctionInfo *code_map_holder) |
| void | EvictCandidate (SharedFunctionInfo *shared_info) |
| void | EvictCandidate (JSFunction *function) |
| void | ProcessCandidates () |
| void | EvictAllCandidates () |
| void | IteratePointersToFromSpace (ObjectVisitor *v) |
Private Member Functions | |
| void | ProcessOptimizedCodeMaps () |
| void | ProcessJSFunctionCandidates () |
| void | ProcessSharedFunctionInfoCandidates () |
| void | EvictOptimizedCodeMaps () |
| void | EvictJSFunctionCandidates () |
| void | EvictSharedFunctionInfoCandidates () |
| DISALLOW_COPY_AND_ASSIGN (CodeFlusher) | |
Static Private Member Functions | |
| static JSFunction ** | GetNextCandidateSlot (JSFunction *candidate) |
| static JSFunction * | GetNextCandidate (JSFunction *candidate) |
| static void | SetNextCandidate (JSFunction *candidate, JSFunction *next_candidate) |
| static void | ClearNextCandidate (JSFunction *candidate, Object *undefined) |
| static SharedFunctionInfo * | GetNextCandidate (SharedFunctionInfo *candidate) |
| static void | SetNextCandidate (SharedFunctionInfo *candidate, SharedFunctionInfo *next_candidate) |
| static void | ClearNextCandidate (SharedFunctionInfo *candidate) |
| static SharedFunctionInfo * | GetNextCodeMap (SharedFunctionInfo *holder) |
| static void | SetNextCodeMap (SharedFunctionInfo *holder, SharedFunctionInfo *next_holder) |
| static void | ClearNextCodeMap (SharedFunctionInfo *holder) |
Private Attributes | |
| Isolate * | isolate_ |
| JSFunction * | jsfunction_candidates_head_ |
| SharedFunctionInfo * | shared_function_info_candidates_head_ |
| SharedFunctionInfo * | optimized_code_map_holder_head_ |
Definition at line 376 of file mark-compact.h.
|
inlineexplicit |
Definition at line 378 of file mark-compact.h.
|
inline |
Definition at line 391 of file mark-compact.h.
References DCHECK, GetNextCandidate(), jsfunction_candidates_head_, and SetNextCandidate().
Here is the call graph for this function:
|
inline |
Definition at line 384 of file mark-compact.h.
References GetNextCandidate(), NULL, SetNextCandidate(), and shared_function_info_candidates_head_.
Here is the call graph for this function:
|
inline |
Definition at line 399 of file mark-compact.h.
References GetNextCodeMap(), optimized_code_map_holder_head_, and SetNextCodeMap().
Here is the call graph for this function:
|
inlinestaticprivate |
Definition at line 447 of file mark-compact.h.
References DCHECK, and v8::internal::SKIP_WRITE_BARRIER.
Referenced by EvictCandidate(), ProcessJSFunctionCandidates(), and ProcessSharedFunctionInfoCandidates().
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 462 of file mark-compact.h.
References NULL, and v8::internal::SKIP_WRITE_BARRIER.
|
inlinestaticprivate |
Definition at line 478 of file mark-compact.h.
References v8::internal::SharedFunctionInfo::kNextMapIndex, and v8::internal::FixedArray::set_undefined().
Referenced by EvictOptimizedCodeMap(), and ProcessOptimizedCodeMaps().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
inline |
Definition at line 416 of file mark-compact.h.
References EvictJSFunctionCandidates(), EvictOptimizedCodeMaps(), and EvictSharedFunctionInfoCandidates().
Referenced by v8::internal::MarkCompactCollector::EnableCodeFlushing().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::CodeFlusher::EvictCandidate | ( | JSFunction * | function | ) |
Definition at line 1184 of file mark-compact.cc.
References ClearNextCandidate(), DCHECK, GetNextCandidate(), v8::internal::Isolate::heap(), v8::internal::Heap::incremental_marking(), isolate_, jsfunction_candidates_head_, NULL, v8::internal::PrintF(), v8::internal::IncrementalMarking::RecordWrites(), and SetNextCandidate().
Here is the call graph for this function:| void v8::internal::CodeFlusher::EvictCandidate | ( | SharedFunctionInfo * | shared_info | ) |
Definition at line 1151 of file mark-compact.cc.
References ClearNextCandidate(), GetNextCandidate(), v8::internal::Isolate::heap(), v8::internal::Heap::incremental_marking(), isolate_, NULL, v8::internal::PrintF(), v8::internal::IncrementalMarking::RecordWrites(), SetNextCandidate(), shared_function_info_candidates_head_, and v8::internal::Object::ShortPrint().
Referenced by v8::internal::Context::AddOptimizedFunction(), EvictJSFunctionCandidates(), EvictSharedFunctionInfoCandidates(), and v8::internal::SharedFunctionInfo::ReplaceCode().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1258 of file mark-compact.cc.
References DCHECK, EvictCandidate(), GetNextCandidate(), jsfunction_candidates_head_, and NULL.
Referenced by EvictAllCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::CodeFlusher::EvictOptimizedCodeMap | ( | SharedFunctionInfo * | code_map_holder | ) |
Definition at line 1221 of file mark-compact.cc.
References ClearNextCodeMap(), DCHECK, GetNextCodeMap(), v8::internal::Isolate::heap(), v8::internal::Heap::incremental_marking(), isolate_, v8::internal::SharedFunctionInfo::kNextMapIndex, NULL, optimized_code_map_holder_head_, v8::internal::PrintF(), v8::internal::IncrementalMarking::RecordWrites(), SetNextCodeMap(), and v8::internal::Object::ShortPrint().
Referenced by v8::internal::SharedFunctionInfo::ClearOptimizedCodeMap(), and EvictOptimizedCodeMaps().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1282 of file mark-compact.cc.
References DCHECK, EvictOptimizedCodeMap(), GetNextCodeMap(), NULL, and optimized_code_map_holder_head_.
Referenced by EvictAllCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1270 of file mark-compact.cc.
References DCHECK, EvictCandidate(), GetNextCandidate(), NULL, and shared_function_info_candidates_head_.
Referenced by EvictAllCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 437 of file mark-compact.h.
Referenced by AddCandidate(), EvictCandidate(), EvictJSFunctionCandidates(), EvictSharedFunctionInfoCandidates(), IteratePointersToFromSpace(), ProcessJSFunctionCandidates(), and ProcessSharedFunctionInfoCandidates().
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 452 of file mark-compact.h.
|
inlinestaticprivate |
Definition at line 432 of file mark-compact.h.
References v8::internal::JSFunction::kNextFunctionLinkOffset, and v8::internal::HeapObject::RawField().
Referenced by IteratePointersToFromSpace().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 466 of file mark-compact.h.
References v8::internal::FixedArray::get(), and v8::internal::SharedFunctionInfo::kNextMapIndex.
Referenced by AddOptimizedCodeMap(), EvictOptimizedCodeMap(), EvictOptimizedCodeMaps(), and ProcessOptimizedCodeMaps().
Here is the call graph for this function:
Here is the caller graph for this function:| void v8::internal::CodeFlusher::IteratePointersToFromSpace | ( | ObjectVisitor * | v | ) |
Definition at line 1294 of file mark-compact.cc.
References GetNextCandidate(), GetNextCandidateSlot(), v8::internal::Isolate::heap(), v8::internal::Heap::InFromSpace(), isolate_, jsfunction_candidates_head_, and NULL.
Referenced by v8::internal::Heap::Scavenge().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 410 of file mark-compact.h.
References ProcessJSFunctionCandidates(), ProcessOptimizedCodeMaps(), and ProcessSharedFunctionInfoCandidates().
Referenced by v8::internal::MarkCompactCollector::AfterMarking().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1026 of file mark-compact.cc.
References v8::internal::HeapObject::address(), v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), ClearNextCandidate(), v8::internal::MarkBit::Get(), v8::internal::Code::GetAge(), GetNextCandidate(), v8::internal::Code::GetObjectFromEntryAddress(), v8::internal::Isolate::heap(), v8::internal::SharedFunctionInfo::is_compiled(), isolate_, jsfunction_candidates_head_, v8::internal::JSFunction::kCodeEntryOffset, v8::internal::SharedFunctionInfo::kCodeOffset, v8::internal::Heap::mark_compact_collector(), NULL, v8::internal::PrintF(), v8::internal::HeapObject::RawField(), v8::internal::MarkCompactCollector::RecordCodeEntrySlot(), v8::internal::JSFunction::set_code(), and v8::internal::Object::ShortPrint().
Referenced by ProcessCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1103 of file mark-compact.cc.
References ClearNextCodeMap(), DCHECK, v8::internal::FixedArray::get(), GetNextCodeMap(), v8::internal::Isolate::heap(), isolate_, v8::internal::SharedFunctionInfo::kCachedCodeOffset, v8::internal::SharedFunctionInfo::kEntriesStart, v8::internal::SharedFunctionInfo::kEntryLength, v8::internal::SharedFunctionInfo::kOsrAstIdOffset, v8::internal::FixedArrayBase::length(), v8::internal::Heap::mark_compact_collector(), NULL, optimized_code_map_holder_head_, v8::internal::FixedArray::RawFieldOfElementAt(), v8::internal::FixedArray::set(), v8::internal::STATIC_ASSERT(), and v8::internal::SharedFunctionInfo::TrimOptimizedCodeMap().
Referenced by ProcessCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1071 of file mark-compact.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), ClearNextCandidate(), v8::internal::MarkBit::Get(), v8::internal::Code::GetAge(), GetNextCandidate(), v8::internal::Isolate::heap(), v8::internal::SharedFunctionInfo::is_compiled(), isolate_, v8::internal::SharedFunctionInfo::kCodeOffset, v8::internal::Heap::mark_compact_collector(), NULL, v8::internal::PrintF(), v8::internal::HeapObject::RawField(), shared_function_info_candidates_head_, and v8::internal::Object::ShortPrint().
Referenced by ProcessCandidates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 442 of file mark-compact.h.
Referenced by AddCandidate(), and EvictCandidate().
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 457 of file mark-compact.h.
|
inlinestaticprivate |
Definition at line 472 of file mark-compact.h.
References v8::internal::SharedFunctionInfo::kNextMapIndex, and v8::internal::FixedArray::set().
Referenced by AddOptimizedCodeMap(), and EvictOptimizedCodeMap().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 483 of file mark-compact.h.
Referenced by EvictCandidate(), EvictOptimizedCodeMap(), IteratePointersToFromSpace(), ProcessJSFunctionCandidates(), ProcessOptimizedCodeMaps(), and ProcessSharedFunctionInfoCandidates().
|
private |
Definition at line 484 of file mark-compact.h.
Referenced by AddCandidate(), EvictCandidate(), EvictJSFunctionCandidates(), IteratePointersToFromSpace(), and ProcessJSFunctionCandidates().
|
private |
Definition at line 486 of file mark-compact.h.
Referenced by AddOptimizedCodeMap(), EvictOptimizedCodeMap(), EvictOptimizedCodeMaps(), and ProcessOptimizedCodeMaps().
|
private |
Definition at line 485 of file mark-compact.h.
Referenced by AddCandidate(), EvictCandidate(), EvictSharedFunctionInfoCandidates(), and ProcessSharedFunctionInfoCandidates().