-
-
Notifications
You must be signed in to change notification settings - Fork 0
TODO
moon edited this page Nov 16, 2024
·
2 revisions
List of major features that needs to be implemented.
- GC: Major GC: Currently only the scavenger is implemented, and it scavenges nursery only. Data allocated in the old region needs to be cleared with Major GC.
- GC: Currently array data is allocated entirely through
malloc
. For small arrays, the data can be wrapped along side the object (same as struct and class etc). Need to identify a threshold on what is large. 1/64 of the nursery size is (~32 KB), so i think it is a good limit. So an array where each element is8bytes
will need to have4096
elements. - Templates: Currently classes and structs are creating by first, allocating the object, then setting the fields. The same is for classes, for both attributes and methods. This can be streamlined by creating object templates which are encoded in the bytecode, in a
template
segment. - Constants: Constant segment is currently (potentially) unaligned.
- Globals: Global segment is also unaligned and, in total, a mess. Needs rethinking and layout adjustment, possibly by the compiler, but changes need to be reflected the VM anyway (or do they).