summaryrefslogtreecommitdiff
path: root/docs/application/shared.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/application/shared.md')
-rw-r--r--docs/application/shared.md38
1 files changed, 0 insertions, 38 deletions
diff --git a/docs/application/shared.md b/docs/application/shared.md
deleted file mode 100644
index 0528645..0000000
--- a/docs/application/shared.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Shared
-
----
-
-## Object Definitions
-
-```c
-typedef struct _kpl_shared {
- bool mark;
- kpl_class data;
- kpl_mutex mutex;
-} kpl_shared;
-
-_Atomic uint32_t shared_threads_makred;
-
-static kpl_shared *shared_mark_head, *shared_head;
-
-static kpl_mutex shared_head_mutex;
-```
-
-# Garbage Collection
-
-## Initiation Task
-
-1. Move `shared_head` to `shared_mark_head`
-2. Set `shared_threads_makred` to 0
-3. Add a mark task to each of the threads
-
-## Mark Task(s)
-
-1. Run gc interface on each task in the threads queue
-2. Increase `shared_threads_makred`
-3. If `shared_threads_makred` is equal to `avaiable_threads` schedule sweep task
-
-## Sweep Task
-
-1. Go through `shared_mark_head` freeing anything that is not marked
-2. Add anything left on `shared_mark_head` to `shared_head`