cyclone/gc-notes.txt
Justin Ethier 866fbcac9a WIP
2015-10-31 02:55:20 -04:00

29 lines
1.3 KiB
Text

Phase 1 (gc-dev) - Add gc.h, make sure it compiles.
Phase 2 (gc-dev2) - Change how strings are allocated, to clean up the code and be compatible with a new GC algorithm.
Phase 3 (gc-dev3) - Change from using a Cheney-style copying collector to a naive mark&sweep algorithm.
Notes for adding new thread data param
- primitives that will now need to accept the param:
((eq? p 'Cyc-write-char) "Cyc_write_char")
Cyc_vector_set
Cyc_vector_ref
Cyc_vector_length(void *data, object v) {
Cyc_length
Cyc_number2string(void *data, object cont, object n) {
object Cyc_symbol2string(object cont, object sym) {
object Cyc_list2string(void *data, object cont, object lst){
#define Cyc_string_append_va_list(data, argc) { \
object Cyc_string_set(object str, object k, object chr) {
object Cyc_string_ref(void *data, object str, object k) {
object Cyc_substring(void *data, object cont, object str, object start, object end) {
object Cyc_installation_dir(object cont, object type) {
object Cyc_command_line_arguments(object cont) {
object Cyc_make_vector(object cont, object len, object fill) {
object Cyc_list2vector(void *data, object cont, object l) {
- plan:
- update runtime, get it to compile
- update any associated tools (dispatch.c, etc)
- update cgen
- integration