3:06:43beachYesterday, I spent the day improving SICL LOOP and making it conform to the standard. Apparently, MIT LOOP has several issues, including some non-conforming behavior.
3:08:19beachToday, I should get back to creating a memory imagine in the host, but first, I think I need to solve the issue with target packages. Currently, symbols are host symbols during bootstrapping and the DEFPACKAGE macro creates a host package only.
3:08:55beachI think I need to create a parallel target package in E5, at least in phases 5 and 6.
3:11:51beachFor the memory image, I have a function named POINTER that takes a heap-allocated object and returns its pointer value as a fixnum. The native version of that function is just a left shift by one position.
3:12:11beachDuring bootstrapping, that function is defined to consult a hash table.
3:13:34beachIf the fixnum value is in the table it is returned. Otherwise, a native version of the object is allocated in the memory image, using the allocator for the global heap. Then tag bits are added, and the result is added to the hash table.