Home
last modified time | relevance | path

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

12345678

/arkcompiler/runtime_core/static_core/plugins/ets/tests/ets_test_suite/gc/
Dpin_object.ets19 GC.pinObject(obj);
20 …assert GC.getObjectSpaceType(obj) == GC.YOUNG_SPACE : "The object before GC must be placed in youn…
21 let addr_before_gc: long = GC.getObjectAddress(obj);
22 // Run GC
23 let gc_id = GC.startGC(GC.MIXED_CAUSE);
24 GC.waitForFinishGC(gc_id);
25 let addr_after_gc: long = GC.getObjectAddress(obj);
26 …assert GC.getObjectSpaceType(obj) == GC.TENURED_SPACE : "The pinned object after GC must be placed…
27 GC.unpinObject(obj);
30 "Address before GC = " + addr_before_gc + "\n" +
[all …]
Dpostpone_gc_test.ets19 GC.postponeGCEnd();
26 GC.postponeGCStart();
27 GC.postponeGCStart();
32 GC.postponeGCEnd();
35 GC.postponeGCStart();
36 let gc_id = GC.startGC(GC.THRESHOLD_CAUSE);
37 GC.waitForFinishGC(gc_id);
41 assert false : "Unexpected exception during GC";
44 GC.postponeGCEnd();
54 GC.postponeGCStart();
[all …]
Dspace_type_test.ets17 …assert GC.getObjectSpaceType("spaceTypeTest") == GC.NON_MOVABLE_SPACE : "Must be non movable space…
22 assert GC.getObjectSpaceType(obj) == GC.YOUNG_SPACE : "Must be young space";
24 let gc_id = GC.startGC(GC.YOUNG_CAUSE);
25 GC.waitForFinishGC(gc_id);
27 assert GC.getObjectSpaceType(obj) == GC.TENURED_SPACE : "Must be tenured space";
33 assert GC.getObjectSpaceType(h_obj) == GC.HUMONGOUS_SPACE: "Must be humongous space";
39 GC.getObjectSpaceType(null);
Dscheduled_gc.ets17 GC.scheduleGcAfterNthAlloc(2, GC.YOUNG_CAUSE);
19 …assert GC.isScheduledGCTriggered() == false : "GC was scheduled before 2nd allocation, current is …
21 …assert GC.isScheduledGCTriggered() == true : "2 allocation already done, but GC has not been trigg…
27 GC.scheduleGcAfterNthAlloc(-1, GC.YOUNG_CAUSE);
Dpending_exception_gc_test.ets17 * Test case when we have moving GC along with pending exception.
26 // adding a couple Full GC to be run without waiting for its completion
27 // in order to have GC running during exception processing
28 GC.startGC(GC.FULL_CAUSE);
29 GC.startGC(GC.FULL_CAUSE);
/arkcompiler/runtime_core/static_core/docs/diagrams/
Dg1-thread-sequence.plantuml17 "Mutator thread" -> "GC Thread #1":Trigger GC
18 "GC Thread #1" -> "GC Thread #1":Start GC
19 "GC Thread #1" -> "GC Thread #1":marking stage
20 "GC Thread #1" -> "Task Queue":Marking stack #1
21 "GC Thread #2" <- "Task Queue":Marking stack #1
22 "GC Thread #2" -> "Task Queue":Marking stack #2
23 "GC Thread #3" <- "Task Queue":Marking stack #2
24 "GC Thread #2" -> "Task Queue":Marking stack #X
25 "GC Thread #1" <- "Task Queue":Marking stack #X
26 "GC Thread #1" -> "GC Thread #1":Waiting for all marking tasks complete
[all …]
Dgc-trigger-sequence-threshold.plantuml18 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.plantuml18 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
Dtask_manager-components.plantuml5 [GC queue(ECMA)]
6 [GC queue(ArkTS)]
10 [GC queue(ECMA)] -> TaskManager
11 [GC queue(ArkTS)] -> TaskManager
18 ' [GC queue(ArkTS)] --> [local queue 1]
23 ' [GC queue(ArkTS)] --> [local queue 2]
28 ' [GC queue(ArkTS)] --> [local queue 3]
/arkcompiler/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;
/arkcompiler/runtime_core/static_core/runtime/mem/gc/
Dgc.cpp52 GC::GC(ObjectAllocatorBase *objectAllocator, const GCSettings &settings) in GC() function in panda::mem::GC
61 taskmanager::TaskType::GC, taskmanager::VMType::STATIC_VM, GC_TASK_QUEUE_PRIORITY); in GC()
66 GC::~GC() in ~GC()
93 Logger::Buffer GC::GetLogPrefix() const in GetLogPrefix()
106 GCType GC::GetType() in GetType()
111 void GC::SetPandaVM(PandaVM *vm) in SetPandaVM()
117 NativeGcTriggerType GC::GetNativeGcTriggerType() in GetNativeGcTriggerType()
122 size_t GC::SimpleNativeAllocationGcWatermark() in SimpleNativeAllocationGcWatermark()
127 NO_THREAD_SAFETY_ANALYSIS void GC::WaitForIdleGC() in WaitForIdleGC()
141 inline void GC::TriggerGCForNative() in TriggerGCForNative()
[all …]
Dgc_root.cpp89 LOG(FATAL, GC) << "ROOT UNKNOWN"; in operator <<()
150 LOG(DEBUG, GC) << "Start collecting roots for thread " << thread->GetId(); in VisitRootsForThread()
153 LOG(DEBUG, GC) << " Found root for thread" << GetDebugInfoAboutObject(obj); in VisitRootsForThread()
156 LOG(DEBUG, GC) << "Finish collecting roots for thread " << thread->GetId(); in VisitRootsForThread()
165 LOG(DEBUG, GC) << " VisitRoots frame " << std::hex << stack.GetFp(); in VisitLocalRoots()
183 LOG(DEBUG, GC) << " Found root for register" << GetDebugInfoAboutObject(objectHeader); in VisitRegisterRoot()
199 LOG(DEBUG, GC) << "Start collecting AOT string slot roots"; in VisitAotStringRoots()
205 LOG(DEBUG, GC) << "Finish collecting AOT string slot roots"; in VisitAotStringRoots()
212 LOG(DEBUG, GC) << "=== AOT string slot roots update. BEGIN ==="; in UpdateAotStringRoots()
222 LOG(DEBUG, GC) << "=== AOT string slot roots update. END ==="; in UpdateAotStringRoots()
[all …]
Dgc_queue.cpp30 LOG(DEBUG, GC) << "GetTask() Return INVALID_CAUSE"; in GetTask()
34 LOG(DEBUG, GC) << "Empty " << queueName_ << ", waiting..."; in GetTask()
37 LOG(DEBUG, GC) << "Empty " << queueName_ << ", return nullptr"; in GetTask()
47 LOG(DEBUG, GC) << "GetTask TimedWait"; in GetTask()
54 LOG(DEBUG, GC) << "Extract a task from a " << queueName_; in GetTask()
71 LOG(DEBUG, GC) << "Add task to a " << queueName_; in AddTask()
/arkcompiler/runtime_core/static_core/plugins/ets/stdlib/std/core/
DGC.ets19 * GC defines methods with GC-specific behavior
21 export final class GC {
60 * The function triggers specific GC
62 * @param cause cause of requested GC
66 * @throws IllegalArgumentException if cause of GC is invalid or
67 * current GC does not support requested cause
69 * @returns id of started GC.
70 * - The id can be passed to waitForFinishGC to ensure the GC is finished.
71 * - 0 in case the GC is executed in-place. It means there is no need to wait such GC
75 GC.startGCImpl(cause, callback as Object);
[all …]
/arkcompiler/runtime_core/static_core/runtime/mem/gc/gc-hung/
Dgc_hung.cpp58 LOG(DEBUG, GC) << "GcHung: Instance created"; in GcHung()
66 LOG(DEBUG, GC) << "GcHung: Instance deleted: water_mark: " << waterMark_; in ~GcHung()
79 LOG(DEBUG, GC) << "GcHung: failed to get config"; in GetConfig()
88 LOG(ERROR, GC) << "GcHung: parse parameters failed"; in GetConfig()
97 LOG(INFO, GC) << "GcHung: module enable:" << enabled_; in GetConfig()
102 LOG(DEBUG, GC) << "GcHung: set parameter: interval_limit_ms_ = " << intervalLimitMs_ << "ms"; in GetConfig()
103 LOG(DEBUG, GC) << "GcHung: set parameter: water_mark_limit_ = " << waterMarkLimit_; in GetConfig()
104 LOG(DEBUG, GC) << "GcHung: set parameter: over_time_limit_ms_ = " << overTimeLimitMs_ << "ms"; in GetConfig()
115 LOG(DEBUG, GC) << "GcHung: load libimonitor"; in LoadLibimonitor()
156 LOG(DEBUG, GC) << "GcHung InitInternal: pid=" << pid_ << " enabled_=" << enabled_; in InitInternal()
[all …]
/arkcompiler/runtime_core/static_core/docs/
Dmemory-management-SW-requirements.md5 * GC
9 1. Allocations for the internal usage by Runtime(Allocations for compiler purposes, for GC internal…
12 Garbage collector(GC) automatically recycles memory that it can prove 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 2. OVERALL DESCRIPTION
37 - Concurrent generational GC (optional - we can disable generational mode)
38 - GC for classes (optional)
39 - GC for code cache(optional)
43 High level requirements for GC:
[all …]
Dglossary.md45 improve performance of GC barrier) for one card.
48 for tracking modified references during 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 it is garbage collection worked over Young generation space
60 * **Major GC** in general it is garbage collection worked over Tenured/Old generation space.
61 Sometimes it is triggered by Minor GC, so it is impossible to separate them(see Full GC).
[all …]
Dmemory-management.md11 * [GC](#gc)
25 - some baseline GC with profile-based configuration(if available)
28 …- low-pause/pauseless GC(for games) or GC with high throughput and acceptable STW pause (for not g…
64 * Marked for GC or not
77 | nothing:61 | GC:1 | state:00 | OOP to metadata object | Unlo…
79 | tId:29 | Lcount:32 | GC:1 | state:00 | OOP to metadata object | Lightweig…
81 | Monitor:61 | GC:1 | state:01 | OOP to metadata object | Heavyweig…
83 | Hash:61 | GC:1 | state:10 | OOP to metadata object | Hash…
85 | Forwarding address:62 | state:11 | OOP to metadata object | GC
95 | nothing:29 | GC:1 | state:00 | OOP to metadata object | Unlo…
[all …]
/arkcompiler/runtime_core/docs/
Dmemory-management-SW-requirements.md5 * GC
9 1. Allocations for the internal usage by Runtime(Allocations for compiler purposes, for GC internal…
12 Garbage collector(GC) automatically recycles memory that it can prove 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 2. OVERALL DESCRIPTION
37 - Concurrent generational GC (optional - we can disable generational mode)
38 - GC for classes (optional)
39 - GC for code cache(optional)
43 High level requirements for GC:
[all …]
Dglossary.md45 improve performance of GC barrier) for one card.
48 for tracking modified references during 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 it is garbage collection worked over Young generation space
60 * **Major GC** in general it is garbage collection worked over Tenured/Old generation space.
61 Sometimes it is triggered by Minor GC, so it is impossible to separate them(see Full GC).
[all …]
Dmemory-management.md11 * [GC](#gc)
25 - some baseline GC with profile-based configuration(if available)
28 …- low-pause/pauseless GC(for games) or GC with high throughput and acceptable STW pause (for not g…
64 * Marked for GC or not
77 | nothing:61 | GC:1 | state:00 | OOP to metadata object | Unlo…
79 | tId:29 | Lcount:32 | GC:1 | state:00 | OOP to metadata object | Lightweig…
81 | Monitor:61 | GC:1 | state:01 | OOP to metadata object | Heavyweig…
83 | Hash:61 | GC:1 | state:10 | OOP to metadata object | Hash…
85 | Forwarding address:62 | state:11 | OOP to metadata object | GC
95 | nothing:29 | GC:1 | state:00 | OOP to metadata object | Unlo…
[all …]
/arkcompiler/runtime_core/static_core/libpandabase/tests/taskmanager/
Dtask_test.cpp24 …static constexpr TaskProperties TASK_PROPERTIES {TaskType::GC, VMType::STATIC_VM, TaskExecutionMod…
38 Task task = Task::Create({TaskType::GC, VMType::DYNAMIC_VM, TaskExecutionMode::BACKGROUND}, in TEST_F()
41 EXPECT_EQ(task.GetTaskProperties().GetTaskType(), TaskType::GC); in TEST_F()
46 EXPECT_EQ(task.GetTaskProperties().GetTaskType(), TaskType::GC); in TEST_F()
56 …SchedulableTaskQueueInterface *queue = TaskQueue<>::Create(TaskType::GC, VMType::DYNAMIC_VM, QUEUE… in TEST_F()
57 EXPECT_EQ(queue->GetTaskType(), TaskType::GC); in TEST_F()
64 … queue->AddTask(Task::Create({TaskType::GC, VMType::DYNAMIC_VM, TaskExecutionMode::BACKGROUND}, in TEST_F()
67 EXPECT_EQ(queue->GetTaskType(), TaskType::GC); in TEST_F()
75 EXPECT_EQ(popTask.value().GetTaskProperties().GetTaskType(), TaskType::GC); in TEST_F()
80 EXPECT_EQ(queue->GetTaskType(), TaskType::GC); in TEST_F()
[all …]
/arkcompiler/runtime_core/static_core/runtime/mem/gc/reference-processor/
Dreference_processor.h30 class GC; variable
40 using ReferenceCheckPredicateT = typename GC::ReferenceCheckPredicateT;
41 using ReferenceProcessPredicateT = typename GC::ReferenceProcessPredicateT;
60 virtual void HandleReference(GC *gc, GCMarkingStackType *objectsStack, const BaseClass *cls,
68 const mem::GC::ReferenceClearPredicateT &pred) = 0;

12345678