MrGwen Tasks List

== My Task List: ==

- UnicodeCharacter speed up:
git:// on the uchar branch

the vm has been updated need to be review.

- Shape:
git:// on the shape branch

1) use singletons. Creating instances all the time is not acceptable. [ Done ]
2) no empty classes. [ Done ]
3) no empty methods returning self. Leave those unimplemented or use #subclassResponsibility.
4) methods such as wrongClassIfFloatShape: and wrongClassIfCharacterShape: make no sense. Just override checkArgumentClass: instead.
5) #shape: not implemented yet using shapes, as a result #resolveShape: is unused. [ WIP ]
6) no class-method-only classes. Move those to Shape. [ Done ]

- PackageLoader fileOutPackage: package

Disclaimer: !!! Nothing has changed on the package format !!!

How It Works:

- PackageLoader fileOutPackage: 'Iliad' to: '/aPath'

right now It will save the package namespace,



- VModule:

- bootstrap the kernel (reuse my old bootstrap code)
- scheduler in user mode (use delay)
- reuse my old multi threaded vm (merge only the threaded side)

- Multi Threaded VM:

Learn from previous approach:
Multiple image/Multiple Thread design mistake also
the vm design is not so good on that side, all the classes
could be inside a struct each vm will have its own struct.
Instead of something like that why not the classical struct and image loaded like any normal ObjectSpace.

The pro less VM changes ^^
The cons slower, are all the primitives usuable (ie changeClassTo chekc if the new class inherit from Behavior or something like that)

An image is just a simple normal thread with a userland scheduler

Scheduler1 ... SchedulerN
Th1 .... Thn Th1 .... Thn

As a first step no multiple ObjectMemory
The GC will block the other VMs til it is running
Idem for some primitives and memory operation ?allInstances/become/stackAllocation?

Syndicate content

User login