[Pkg] The Trunk: Compiler-eem.217.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Sep 27 22:52:02 UTC 2011
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!
More information about the Packages
mailing list