Home
last modified time | relevance | path

Searched refs:GC (Results 1 – 25 of 79) sorted by relevance

1234

/ark/runtime_core/docs/diagrams/
Dgc-trigger-sequence-threshold.pusequence18 title GC triggered by threshold
26 participant GC
29 Allocator -> GCTaskQueue: Add new GC task
32 GCTaskQueue -> GCThread : GC task
33 GCThread -> GC : GC task
35 GC -> AppThread1: Suspend
36 GC -> AppThread2: Suspend
37 GC -> GC : GC running at STW
38 GC -> AppThread1: Resume
39 GC -> AppThread2: Resume
[all …]
Dgc-trigger-sequence-OOM.pusequence18 title Trigger GC at OOM
26 participant GC
29 Allocator -> GCTaskQueue: Add new GC task and wait for GC
32 GCTaskQueue -> GCThread : GC task
33 GCThread -> GC : GC task
34 GC -> GC : GC running
35 GC --> Allocator : GC finished
Dgc-thread-activity.puactivity17 title GC Thread
25 if (task is Full GC) then (yes)
26 :Run Full GC;
27 elseif (task is Major GC) then (yes)
28 :Run GC with obtained task in separated thread;
29 while (Major GC is not completed) is (yes)
30 if (GCTaskQueue contains minor GC) then(yes)
31 :Run minor GC in this thread;
36 :Run minor GC in this thread;
Dmm-components.pucomponent19 [GC]
22 [GC] .> [GCThread] : executed in
23 [GC] .> [ReferenceProcessor] : use
25 [GC] --> [GCStatistics] : update
27 [Allocator] --> [GC] : trigger
Dstatic-analyzer-gc-func-list-gen.puactivity16 title Generation list of GC unsafe functions(can have GC happen during work)
20 :List of functions which can have GC inside;
33 :Generate list of all functions which can call GC (GC FUNCTION LIST);
/ark/runtime_core/runtime/mem/gc/
Dgc.cpp51 GC::GC(ObjectAllocatorBase *object_allocator, const GCSettings &settings) in GC() function in panda::mem::GC
58 GC::~GC() in ~GC()
82 GCType GC::GetType() in GetType()
87 void GC::SetPandaVM(PandaVM *vm) in SetPandaVM()
93 NativeGcTriggerType GC::GetNativeGcTriggerType() in GetNativeGcTriggerType()
98 size_t GC::SimpleNativeAllocationGcWatermark() in SimpleNativeAllocationGcWatermark()
103 NO_THREAD_SAFETY_ANALYSIS void GC::WaitForIdleGC() in WaitForIdleGC()
114 inline void GC::TriggerGCForNative() in TriggerGCForNative()
131 LOG(FATAL, GC) << "Unknown Native GC Trigger type"; in TriggerGCForNative()
136 void GC::Initialize() in Initialize()
[all …]
Dgc_queue.cpp31 LOG(DEBUG, GC) << "GetTask() Return INVALID_CAUSE"; in GetTask()
34 LOG(DEBUG, GC) << "Empty " << queue_name_ << ", waiting..."; in GetTask()
43 LOG(DEBUG, GC) << "GetTask TimedWait"; in GetTask()
49 LOG(DEBUG, GC) << "Extract a task from a " << queue_name_; in GetTask()
57 … LOG(DEBUG, GC) << "Skip AddTask to queue: " << queue_name_ << " cause it's finalized already"; in AddTask()
61 LOG(DEBUG, GC) << "Add task to a " << queue_name_; in AddTask()
78 LOG(DEBUG, GC) << "Clear a " << queue_name_; in Finalize()
Dgc_root.cpp88 LOG(FATAL, GC) << "ROOT UNKNOWN"; in operator <<()
143 LOG(DEBUG, GC) << "Start collecting roots for thread " << thread->GetId(); in VisitRootsForThread()
146 LOG(DEBUG, GC) << " Found root for thread" << GetDebugInfoAboutObject(obj); in VisitRootsForThread()
149 LOG(DEBUG, GC) << "Finish collecting roots for thread " << thread->GetId(); in VisitRootsForThread()
158 LOG(DEBUG, GC) << " VisitRoots frame " << std::hex << stack.GetFp(); in VisitLocalRoots()
180 LOG(DEBUG, GC) << " Found root for register" << GetDebugInfoAboutObject(object_header); in VisitRegisterRoot()
212 LOG(DEBUG, GC) << "Start collecting roots for classes"; in VisitClassRoots()
216 LOG(DEBUG, GC) << " Found class root " << GetDebugInfoAboutObject(cls->GetManagedObject()); in VisitClassRoots()
221 LOG(DEBUG, GC) << "Finish collecting roots for classes"; in VisitClassRoots()
227 LOG(DEBUG, GC) << "=== ThreadLocals Update moved. BEGIN ==="; in UpdateThreadLocals()
[all …]
Dgc_barrier_set.cpp32 LOG(DEBUG, GC) << "GC PreSATBBarrier pre val -> new val:" << std::hex << pre_val; in PreSATBBarrier()
73 LOG(FATAL, GC) << "Operand " << name << " not found for pre barrier"; in GetBarrierOperand()
78 LOG(FATAL, GC) << "Operand " << name << " not found for post barrier"; in GetBarrierOperand()
85 …LOG(DEBUG, GC) << "GC PreBarrier: write to " << std::hex << obj_field_addr << " with pre-value " <… in PreBarrier()
91 …LOG(DEBUG, GC) << "GC PostBarrier: write to " << std::hex << obj_addr << " value " << stored_val_a… in PostBarrier()
110 …LOG(DEBUG, GC) << "GC PreBarrier: write to " << std::hex << obj_field_addr << " with pre-value " <… in PreBarrier()
116 …LOG(DEBUG, GC) << "GC PostBarrier: write to " << std::hex << obj_addr << " value " << stored_val_a… in PostBarrier()
Dgc_scoped_phase.cpp22 GCScopedPhase::GCScopedPhase(MemStatsType *mem_stats, GC *gc, GCPhase new_phase) : mem_stats_(mem_s… in GCScopedPhase()
31 LOG(DEBUG, GC) << "== " << GetGCName() << "::" << GetPhaseName(phase_) << " started =="; in GCScopedPhase()
40 LOG(DEBUG, GC) << "== " << GetGCName() << "::" << GetPhaseName(phase_) << " finished =="; in ~GCScopedPhase()
Dgc_scoped_phase.h29 class GC; variable
33 GCScopedPhase(MemStatsType *mem_stats, GC *gc, GCPhase new_phase);
106 GC *gc_;
Dgc.h81 #define LOG_DEBUG_GC LOG(DEBUG, GC) << this->GetLogPrefix()
83 #define LOG_INFO_GC LOG(INFO, GC) << this->GetLogPrefix()
262 LOG(DEBUG, GC) << " Mark check for " << std::hex << object << std::dec in MarkChecker()
332 class GC {
334 explicit GC(ObjectAllocatorBase *object_allocator, const GCSettings &settings);
335 NO_COPY_SEMANTIC(GC);
336 NO_MOVE_SEMANTIC(GC);
337 virtual ~GC() = 0;
716 static void GCWorkerEntry(GC *gc, PandaVM *vm);
840 GC *CreateGC(GCType gc_type, ObjectAllocatorBase *object_allocator, const GCSettings &settings);
[all …]
/ark/runtime_core/docs/
Dmemory-management.md11 * [GC](#gc)
60 * Marked for GC or not
73 | nothing:61 | GC:1 | state:00 | OOP to metadata object | Unlo…
75 | tId:29 | Lcount:32 | GC:1 | state:00 | OOP to metadata object | Lightweig…
77 | Monitor:61 | GC:1 | state:01 | OOP to metadata object | Heavyweig…
79 | Hash:61 | GC:1 | state:10 | OOP to metadata object | Hash…
81 | Forwarding address:62 | state:11 | OOP to metadata object | GC
91 | nothing:29 | GC:1 | state:00 | OOP to metadata object | Unlo…
93 | tId:13 | Lcount:16 | GC:1 | state:00 | OOP to metadata object | Lightweig…
95 | Monitor:29 | GC:1 | state:01 | OOP to metadata object | Heavyweig…
[all …]
Dmemory-management-SW-requirements.md5 * Garbage Collector (GC)
9 1. Allocations for the internal usage by Runtime (Allocations for compiler purposes, for GC interna…
12 GC automatically recycles memory that will never be used again.
13 GC used to recycle memory allocated as result of application work (objects, compiled code etc).
31 - Internal memory space for non-compiler part of runtime (including GC internals)
35 ## GC section in Overall Description
37 - Concurrent generational GC (optional - we can disable generational mode)
38 - GC for classes (optional)
39 - GC for code cache (optional)
42 High level requirements for GC:
[all …]
Dglossary.md45 improve performance of GC barrier) for one card.
48 for tracking modified references during the concurrent phase of GC.
49 * **Compacting GC** is a GC which compacts live objects to reduce fragmentation.
50 * **Conservative GC** or non-precise GC works with ambiguous references,
51 i.e. it treats anything inside object boundaries like a reference. Opposite term: **Precise GC**.
52 * **Full GC** is cleaning the entire Heap.
57 * **GC** stands for Garbage collector or sometimes for Garbage collection.
58 * **Minor GC** in general is garbage collection performed over the young generation space
60 * **Major GC** in general is garbage collection performed over the tenured or old generation space.
61 Sometimes it is triggered by Minor GC, so it is impossible to separate them (see **Full GC**).
[all …]
/ark/runtime_core/runtime/mem/gc/g1/
Dg1-gc.cpp52 LOG(FATAL, GC) << "Not implemented"; in PreStartupImp()
65 LOG(INFO, GC) << "GenGC start"; in RunPhasesImpl()
90 LOG(INFO, GC) << this->mem_stats_.Dump(); in RunPhasesImpl()
91 LOG(INFO, GC) << this->GetTiming()->Dump(); in RunPhasesImpl()
116 LOG(FATAL, GC) << "Not implemented"; in MarkObject()
122 LOG(FATAL, GC) << "Not implemented"; in InitGCBitsForAllocationInTLAB()
128 LOG(FATAL, GC) << "Not implemented"; in IsMarked()
136 LOG(FATAL, GC) << "Not implemented"; in MarkReferences()
142 LOG(FATAL, GC) << "Not implemented"; in UnMarkObject()
148 LOG(FATAL, GC) << "Not implemented"; in MarkObjectIfNotMarked()
/ark/runtime_core/runtime/mem/
Drendezvous.cpp28 LOG(DEBUG, GC) << "Rendezvous: SafepointBegin"; in SafepointBegin()
38 LOG(DEBUG, GC) << "Rendezvous: SafepointEnd"; in SafepointEnd()
43 LOG(DEBUG, GC) << "Rendezvous: SafepointEnd exit"; in SafepointEnd()
Dmemory_manager.h31 class GC; variable
101 GC *GetGC() const in GetGC()
132 … explicit MemoryManager(InternalAllocatorPtr internal_allocator, HeapManager *heap_manager, GC *gc, in MemoryManager()
148 GC *gc_;
Dobject_helpers.h43 #define LOG_DEBUG_OBJ_HELPERS LOG(DEBUG, GC) << vm->GetGC()->GetLogPrefix()
45 class GC; variable
90 static void RecordDynWeakReference(GC *gc, coretypes::TaggedType *value);
91 static void HandleDynWeakReferences(GC *gc);
/ark/runtime_core/runtime/mem/gc/static/
Dgc_static_impl.cpp22 void GC::HandleObject<LANG_TYPE_STATIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, const O… in HandleObject()
45 void GC::HandleClass<LANG_TYPE_STATIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, Class *c… in HandleClass()
63 void GC::HandleArrayClass<LANG_TYPE_STATIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, in HandleArrayClass()
87 void GC::MarkInstance<LANG_TYPE_STATIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, const O… in MarkInstance()
108 LOG(FATAL, GC) << "Wrong handling, missed type: " << cls->GetDescriptor(); in MarkInstance()
/ark/runtime_core/runtime/mem/gc/epsilon/
Depsilon.cpp37 LOG(DEBUG, GC) << "Epsilon GC initialized..."; in InitializeImpl()
43 LOG(DEBUG, GC) << "Epsilon GC RunPhases..."; in RunPhasesImpl()
61 LOG(FATAL, GC) << "TLABs are not supported by this GC"; in InitGCBitsForAllocationInTLAB()
/ark/runtime_core/runtime/
Dstring_table.cpp187 LOG(DEBUG, GC) << "=== StringTable Update moved. BEGIN ==="; in UpdateMoved()
188 LOG(DEBUG, GC) << "Iterate over: " << table_.size() << " elements in string table"; in UpdateMoved()
195 LOG(DEBUG, GC) << "StringTable: forward " << std::hex << object << " -> " << fwd_string; in UpdateMoved()
200 LOG(DEBUG, GC) << "=== StringTable Update moved. END ==="; in UpdateMoved()
207 LOG(DEBUG, GC) << "=== StringTable Sweep. BEGIN ==="; in Sweep()
208 LOG(DEBUG, GC) << "StringTable iterate over: " << table_.size() << " elements in string table"; in Sweep()
216 LOG(DEBUG, GC) << "StringTable: forward " << std::hex << object << " -> " << fwd_string; in Sweep()
218 LOG(DEBUG, GC) << "StringTable: delete string " << std::hex << object in Sweep()
225 LOG(DEBUG, GC) << "StringTable size after sweep = " << table_.size(); in Sweep()
226 LOG(DEBUG, GC) << "=== StringTable Sweep. END ==="; in Sweep()
Dgc_task.cpp22 void GCTask::Run(mem::GC &gc) in Run()
61 LOG(FATAL, GC) << "Unknown gc cause"; in operator <<()
/ark/runtime_core/runtime/mem/gc/dynamic/
Dgc_dynamic_impl.cpp23 void GC::HandleObject<LANG_TYPE_DYNAMIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, const … in HandleObject()
55 void GC::HandleClass<LANG_TYPE_DYNAMIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, in HandleClass()
86 void GC::HandleArrayClass<LANG_TYPE_DYNAMIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, in HandleArrayClass()
112 void GC::MarkInstance<LANG_TYPE_DYNAMIC, false>(PandaStackTL<ObjectHeader *> *objects_stack, const … in MarkInstance()
/ark/runtime_core/runtime/mem/gc/reference-processor/
Dreference_processor.h31 class GC; variable
64 …virtual void HandleReference(GC *gc, PandaStackTL<ObjectHeader *> *objectsStack, const BaseClass *…

1234