<div dir="ltr">Hi,<div><br></div><div>    ignore this one; it's a dud.  I got confused and committed a bogus version of TParseNode>>comment:.  VMMaker.oscog-eem.2309 is good though.  Apologies for the noise.<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 5, 2018 at 12:20 AM,  <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2308.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>VMMaker/VMMaker.oscog-eem.<wbr>2308.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: VMMaker.oscog-eem.2308<br>
Author: eem<br>
Time: 5 January 2018, 12:19:53.562181 am<br>
UUID: 6c41bece-0d81-4a69-a677-<wbr>bf6e8f275674<br>
Ancestors: VMMaker.oscog-eem.2307<br>
<br>
Slang:  Make TParseNode>>comment; do what it implies and accept a string argument, instead of insistign clients know the internal contract is a sequence of comment strings.<br>
<br>
Tweak the recent inlining comment change; no need to comment if what's being inlined is a named constant.<br>
<br>
=============== Diff against VMMaker.oscog-eem.2307 ===============<br>
<br>
Item was changed:<br>
  ----- Method: TMethod>><wbr>tryToInlineMethodExpressionsIn<wbr>: (in category 'inlining') -----<br>
  tryToInlineMethodExpressionsIn<wbr>: aCodeGen<br>
        "Expand any (complete) inline methods sent by this method as receivers or parameters.<br>
         Answer if anything was inlined."<br>
<br>
        | sendsToInline |<br>
        sendsToInline := Dictionary new: 100.<br>
        aCodeGen<br>
                pushScope: declarations<br>
                while: [parseTree<br>
                                        nodesDo:<br>
                                                [:node|<br>
                                                (self inlineableFunctionCall: node in: aCodeGen) ifTrue:<br>
                                                        [(self inlineFunctionCall: node in: aCodeGen) ifNotNil:<br>
                                                                [:replacement|<br>
+                                                                (replacement isConstant<br>
+                                                                 and: [replacement isDefine not<br>
+                                                                 and: [replacement value isNumber<br>
+                                                                 and: [replacement comment isNil]]]) ifTrue:<br>
-                                                                (replacement isConstant and: [replacement value isNumber and: [replacement comment isNil]]) ifTrue:<br>
                                                                        [replacement comment: node selector].<br>
                                                                 sendsToInline at: node put: replacement]]]<br>
                                        unless: "Don't inline the arguments to asserts to keep the asserts readable"<br>
                                                [:node|<br>
                                                node isSend<br>
                                                and: [node selector == #cCode:inSmalltalk:<br>
                                                        or: [aCodeGen isAssertSelector: node selector]]]].<br>
<br>
        sendsToInline isEmpty ifTrue:<br>
                [^false].<br>
        self replaceNodesIn: sendsToInline.<br>
        ^true!<br>
<br>
Item was changed:<br>
  ----- Method: TParseNode>>comment: (in category 'accessing') -----<br>
  comment: aComment<br>
+       "Ugh,. comment is a sequence of strings."<br>
+       comment := aComment isString ifTrue: [{aComment}] ifFalse: [aComment]!<br>
-<br>
-       comment := aComment !<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div></div>