diff --git a/gc-notes.txt b/gc-notes.txt index 7df8ba9b..e16953cc 100644 --- a/gc-notes.txt +++ b/gc-notes.txt @@ -7,21 +7,6 @@ Phase 6 (gc-dev6) - Multiple mutators (application threads) Phase 7 (TBD) - Sharing of variables between threads (ideally without limitation, but that might not be realistic) TODO: - -- multiple mutators, and threading functions/types. probably want this on a new branch, when ready - part of this is implementing the beginnings of srfi-18, to create multiple threads, sync them, etc - next steps: - - - need a different set of exception handlers for each stack. - Probably need to move *exception-handler-stack* from being a global - to being part of thread data - Will need to branch for this since there are going to be changes - throughout many files... the actual change may not be so bad though, - and may simplify the code, which is kind of hacky right now. - - start making core stuff thread safe. for example, test.scm sometimes - crashes, I think printing out result from (read) - - assume I/O and eval both have threading issues - - bring exceptions into local thread data? anything else? also, will probably need to lock shared resources such as I/O... Yes, anything global needs to be considered. @@ -29,6 +14,9 @@ TODO: - read.sld in-port-table - obvious thread safety issue here what is the performance impact of adding locks to all these funcs? or do we need to rewrite the code somehow? + - start making core stuff thread safe. for example, test.scm sometimes + crashes, I think printing out result from (read) + - assume I/O and eval both have threading issues - eval.sld - ... - document at a high level how the GC works mostly what minor/major GC's are, and how they are interleaved.