[squeak-dev] Re: About on:do:

tim Rowledge tim at rowledge.org
Mon Jul 21 17:18:37 UTC 2008


On 21-Jul-08, at 9:51 AM, Eliot Miranda wrote:

>
>
> On Mon, Jul 21, 2008 at 8:58 AM, Andreas Raab <andreas.raab at gmx.de>  
> wrote:
> Eliot Miranda wrote:
> BTW, this is a really nice implementation by Andreas and Dan.
>
> As much as I like to take credit, in this case it wasn't me. I don't  
> quite remember but I think Tim came up with it (was this one of the  
> adopted Interval changes?)
>
> I'm sorry.  I misunderstood a conversation we had recently.   
> Apologies Tim  And its great to hear you sounding so chipper at 1808  
> years old.
>
Well, as I was saying to Lucius Septimus Severus back then , "Emp", I  
said, "Emp - we need to put a flag in some primitive". Of course he  
misunderstood and took a legion or two off to impale some barbarians.

Note the method involved -
Interpreter>isUnwindMarked: aContext
	"Is this a MethodContext whose meth has a primitive number of 198?"
	| header meth pIndex |
	"NB: the use of a primitive number for marking the method is pretty  
grungy, but it is simple to use for a test sytem, not too expensive  
and we don't actually have the two spare method header bits we need.  
We can probably obtain them when the method format is changed
	NB 2: actually, the jitter will probably implement the prim to  
actually mark the volatile frame by changing the return function  
pointer."
	self inline: true.
	header := self baseHeader: aContext.
	(self isMethodContextHeader: header) ifFalse: [^false].
	meth := self fetchPointer: MethodIndex ofObject: aContext.
	pIndex := self primitiveIndexOf: meth.
	^pIndex == 198
... and particularly the two NBs.
I think it's a pretty poor implementation all in all but it was the  
best compromise we could develop at the time and given the belief we  
would have a working JIT Real Soon Now to replace the interpreter. A  
mere eight years later we still don't have a cleaned up image format,  
jitter, closures, host windows etc etc in actual use[1]. Sigh.

tim
[1] Yes, I know all of them have been developed in some form - I've  
worked on all of them - but are they in actual use?
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: WDS: Warp Drive, Scotty!





More information about the Squeak-dev mailing list