Squeak-dev Digest, Vol 33, Issue 36

John M McIntosh johnmci at smalltalkconsulting.com
Mon Sep 19 14:12:08 UTC 2005


Well Tim was involved in a project where they changed the SLANG  
compiler to extrude assembler.  (SLANG to ARM Assembler).

That port is lurking, ask Tim or myself for a copy.

I'm sure I saw a port to Obj-C, see http://www.metaobject.com/ 
downloads/Squeak/, let's see,, mmm yes here is a snippet from interp.m


-(int)isPointers:(int )oop
{
     return ([self formatOf:oop] <= 4);
}



Remember SLANG is a subset of Smalltalk to allow you to generate non- 
complex basic generic C code, so going to JAVA is much simpler than  
to say assembler.

I first would suggest confirming you can create a basic VM without  
INLINING, althought the performance is poor, the code is much cleaner  
and clearer. I could assist
you with any fixes required to do this since I recall you can't  
directly create a compile error free version at the moment, inlining  
actually removes 2 or 3 compiler errors by
folding out the incorrectly generated C code.

Note I have code that sets the return type of the routine to int/ 
char* or void depending on the method type declares. This isn't part  
of the Squeak VM, but might be also required to
make certain other languages happy with typing issues.

On 19-Sep-05, at 4:39 AM, Dave Mason wrote:

>
> I was particularly looking for a bit of technical guidance.  I would
> still appreciate any that is available.  It is likely that the only
> part of VMMaker that would be useful to my student is the part that
> identifies the classes and methods that are needed for the VM.  All of
> the code generation will be very different.
>
> ../Dave
>
>
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list