cyclic looping with [0 == object] whileFalse: [object := object
reefedjib at yahoo.com
Tue Nov 6 16:23:45 UTC 2007
----- Original Message -----
From: "Paolo Bonzini" <bonzini at gnu.org>
> This would work for Rob however.
That would work for me in this situation, yes. Also, I thought that
Andreas' use of a marker to stop iteration would also work in this
situation. The issue is that I caused the situation by turning off ifTrue:
inlining in the compiler (with help from others).
This is just an intermediate step to where I really want to be, which is
writing a macro which tests whether the receiver is Boolean, and if it is
then run the inline form of ifTrue:, and if it is not then run the msg send
form of ifTrue:. This would avoid the above problem by keeping things
inlined. I have this new compound macro coded up, compiling and some basic
tests and it works, but it makes my environment unstable. I am getting the
emergency evaluator or outright image crashes when using it. It is driving
me crazy, if I wasn't already.
I am attching the Compiler package that I believe will load up for those who
may be willing to help me figure this out. After loading into a scratch
image, run 'Compiler recompileAll'. Then debug 'FileList open'. This will
show you one of the soft crashes (the emergency evaluator). I suspect that
I don't have things I need to do syntax highlighting in the debugger for the
new macro code, but I am not sure if that is enough to cause crashes. It
does strange things like switch arguments, in this case a DirectoryEntry
suddenly becomes 6.
thanks for any assistance,
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 15513 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20071106/a342811c/SqueakElib-Compiler-rww.3.obj
More information about the Squeak-dev