Hello,

I've made an initial support for multiple worlds in GNU Smalltalk,
each world has its own memory heap; I can bootstrap multiple kernel
using the GNU Smalltalk bootstrapping process each kernel has
its memory heap and I use a share nothing approach between the other
worlds. I can load multiple images in other memory area too.

What has changed in the VM? This is mostly a big refactoring of the
_gst_mem structure and globals used by the compiler, symbols, oop registrations, and context management.

I've added two primitives - mostly for testing purpose -for loading images and generating new worlds in ObjectMemory (yes it's not good). It loads an image print hello world and crash and the same happens for the generated kernel.

I think that's the right way but I want your opinion on the changes.
I plan to fix the multiple worlds support by :
 - fix the world swapping crash :)
 - see the impact on the vm (semaphore/events/...)
 - introducing a model for the worlds
- the scheduling could be time shared for the worlds (Paolo what do you think)? - Multi core support I think that could be the next step may be a M:N model M images for N VM thread

The code is there :
  [email protected]:MrGwen/GNU-Smalltalk.git this is the process branch

Cheers,
Gwen

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to