Diff for MrGwen Tasks List

Thu, 12/09/2010 - 12:37 by Gwenael CasaccioThu, 12/09/2010 - 12:43 by Gwenael Casaccio
Changes to Body
Line 56 Line 56
Th1 .... Thn Th1 .... Thn Th1 .... Thn Th1 .... Thn
- + As a first step no multiple ObjectMemory
- The GC will block the VM+ The GC will block the other VMs til it is running
 + Idem for some primitives and memory operation ?allInstances/become/stackAllocation?

Current revision:

MrGwen Tasks List

== My Task List: ==

- UnicodeCharacter speed up:
git://github.com/MrGwen/GNU-Smalltalk.git on the uchar branch

the vm has been updated need to be review.

- Shape:
git://github.com/MrGwen/GNU-Smalltalk.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:

git@github.com:MrGwen/gst-smalltalk.git 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,

/aPath/namespace/Cat1/SubCat1/.../Class.st

PackageSource

- 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?

User login