Eliot Miranda uploaded a new version of Compiler to project The Trunk: http://source.squeak.org/trunk/Compiler-eem.217.mcz
==================== Summary ====================
Name: Compiler-eem.217 Author: eem Time: 27 September 2011, 3:51:31.614 pm UUID: 4b06bdff-bc34-4a41-b59d-8de0dc9bf16c Ancestors: Compiler-eem.216
Add MethodNode>>ensureNotQuick to allow forcing generating non-quick versions of quick methods (^self, ^inst var, et al). This is used by MwbreakpointWrapper. Yes this could arguably be a set of extensions in MethodWrappers, but it feels too intimate for that, and other compilers may want to implement the same API.
=============== Diff against Compiler-eem.216 ===============
Item was added: + ----- Method: BlockNode>>ensureNotQuick: (in category 'converting') ----- + ensureNotQuick: encoder + "If the receiver is quick (can be generated as a Quick method, ^self,^inst var or ^ special constant) + make it not so. This is used to create break-pointable versions of quick methods. Answer if the + receiver was quick." + self isQuick ifFalse: + [^false]. + "Making statements size > 1 is sufficient to cause isQuick to answer false (see BlockNode>>isQuick). + N.B. This is a no-op since statements generate via emitCodeForEffect: and VariableNodes have no effect." + statements addFirst: (encoder encodeVariable: 'self'). + ^true!
Item was added: + ----- Method: MethodNode>>ensureNotQuick (in category 'converting') ----- + ensureNotQuick + "If the receiver is quick (can be generated as a Quick method, ^self,^inst var or ^ special constant) + make it not so. This is used to create break-pointable versions of quick methods. Answer if the + receiver was quick." + ^block ensureNotQuick: encoder!
packages@lists.squeakfoundation.org