so, a drawback of the apollo3 (and actually every cpu i've found with a decent deep-sleep state) over an actual vax is that it doesn't have virtual memory or much in the way of memory protection
my current plan is for my nascent jit compiler to implement paged virtual memory using bytecodes for paged-load-byte, paged-load-halfword, paged-load-word, paged-load-multiple, paged-store-byte, paged-store-halfword, paged-store-word, and paged-store-multiple, so that i can compile existing c to its bytecode instruction set; these will be implemented by calls to millicode subroutines
c call and return, argument passing, and accesses to local variables whose addresses are never taken, can be provided by mechanisms that don't involve accessing a paged virtual memory space
i think, and i might be wrong about this, that this will be sufficient to run things like libpng and pcc at useful speeds
if not, i might have to lean harder on making the jit compiler smart
what approach would you take
i very much agree about the clamshell; that would also make it possible to include a keyboard big enough to touch-type on
my current plan is for my nascent jit compiler to implement paged virtual memory using bytecodes for paged-load-byte, paged-load-halfword, paged-load-word, paged-load-multiple, paged-store-byte, paged-store-halfword, paged-store-word, and paged-store-multiple, so that i can compile existing c to its bytecode instruction set; these will be implemented by calls to millicode subroutines
c call and return, argument passing, and accesses to local variables whose addresses are never taken, can be provided by mechanisms that don't involve accessing a paged virtual memory space
i think, and i might be wrong about this, that this will be sufficient to run things like libpng and pcc at useful speeds
if not, i might have to lean harder on making the jit compiler smart
what approach would you take
i very much agree about the clamshell; that would also make it possible to include a keyboard big enough to touch-type on