Diff for MrGwen

Fri, 12/10/2010 - 10:00 by Gwenael CasaccioFri, 12/10/2010 - 10:02 by Gwenael Casaccio
Changes to Body
Line 1 Line 1
== My Task List: == == My Task List: ==
 +
 + - VisualGST:
 +
 + bugs:
 + -----
 + NamespaceSource
 + Refactoring => Move Namespace fileout to a fileout class.
- UnicodeCharacter speed up: - UnicodeCharacter speed up:

Revision of Fri, 12/10/2010 - 10:02:

MrGwen

== My Task List: ==

- VisualGST:

bugs:
-----
NamespaceSource
Refactoring => Move Namespace fileout to a fileout class.

- 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