[squeak-dev] Cog as DLL

Eliot Miranda eliot.miranda at gmail.com
Sat Mar 14 21:17:27 UTC 2009


Hi Koh,
    yes it can.  The question is will anybody have the time to do it?  It is
not part of the plan at Qwaq.  I would love to see the Squeak VM and/or Cog
evolve into something loadable as a DLL but need to be in some context where
I am funded to do the work or can mentor someone else to do the work.  This
is perhaps a project to suggest for the Google summer of code, although
porting to ARM and/or PowerPC would be my first priorities.

Here is a rough list of projects I would like to see done in Cog:

- replace the object model with a simpler two-word header design with class
indices in the header and with immedate chjaracters (as discussed here or on
vm-dev recently)

- port to AMD64/EMT64 with a 64-bit object representation that uses the
two-word header format in the new object model and immediate doubles (as I
did in 64-bit VW).

- port the new JIT to ARM and iPhone

- port the new JIT to PowerPC and PlayStation3 (and older Macs)

- replace the existing garbage collector with
    - a proper scavenging ephemeral collector
    - a proper segmented memory model that can add new segments via
memory-mapping (mmap/VirtualAlloc) and release these back to the OS, i.e.
can grow and shrink, and that can scale to large heaps

- revamp the FFI
    - replace the FFI/Alien interpreted call-out back-end with one based on
an image level ABI compiler that uses Alien-like mechanisms to allocate
marshalling code for call-outs and call-backs.
    - merge FFI and Alien so that teh Alien model is used for data
management
    - add threaded call-out/call-back support so that the VM can make
multiple concurrent (and hence non-blocking) call-outs, and receiver
multiple call-backs, even though the core VM is running at most one
Smalltalk process concurrently.
    - use the threaded facilities to allow the VM to be packaged as a DLL
which can receive "send-backs", sends into declared entry-points in the
image from a client that loads an image+vm combination as a DLL.

- port Cog beneath other Smalltalks or Smalltalk-like languages

On Fri, Mar 13, 2009 at 3:16 PM, askoh <askoh at askoh.com> wrote:

>
> Can Cog, the new VM, be made into a DLL that is callable by external
> programs? Such a capability will allow Squeak Smalltalk to be used as
> plugins or addons in many established programs like CAD, spreadsheets, etc.
>
> Aik-Siong Koh
> --
> View this message in context:
> http://www.nabble.com/Cog-as-DLL-tp22506070p22506070.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090314/48108cb0/attachment.htm


More information about the Squeak-dev mailing list