blob: 6c8452526550e37318caaec88d98f0f38ae24122 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# Runtime
---
## Requirements
* Linux X64 with io_uring (6+)
* GNU Make
* GCC with -std=gnu99 -fhardened (14+)
## Sections
* ##### [Interface](./interface.md)
* ##### [Thread](./thread.md)
* ##### [Mutex](./mutex.md)
* ##### [Memory](./memory.md)
* ##### [Io](./io.md)
* ##### [Shared](./shared.md)
* ##### [Identifier](./identifier.md)
* ##### [Type](./type.md)
* ##### [Group](./group.md)
* ##### [Buffer](./buffer.md)
* ##### [Map](./map.md)
* ##### [Queue](./queue.md)
* ##### [Union](./union.md)
* ##### [Native](./native.md)
* ##### [Namespace](./namespace.md)
* ##### [Error](./error.md)
* ##### [Testing](./testing.md)
# Invocation
## Startup
1. Configuration
* `thread_count` - defaults to number of available processors
2. Initialize allocators
3. Initialize tasks
4. Initialize types
* Built In Alias
5. Initialize IO
* Size of registered sparse buffers
## Main
### Module
### String/REPL
## Life cycle
1. ##### [Register](../lifecycle/register.md)
2. ##### [Parse](../lifecycle/parse.md)
3. ##### [Scope](../lifecycle/scope.md)
4. ##### [Import](../lifecycle/import.md)
5. ##### [Check](../lifecycle/check.md)
6. ##### [Eval](../lifecycle/eval.md)
7. ##### [Ir](../lifecycle/ir.md)
8. ##### [Jit](../lifecycle/jit.md)
9. ##### [Exec](../lifecycle/exec.md)
10. ##### [Notify](../lifecycle/notify.md)
## Shutdown
1. Clean up IO
2. Clean up types
3. Clean up tasks
4. Clean up allocators
|