2010/8/11 James Ladd <[email protected]> > Hi All, > > This list has been amazinly quick and helpful so thank you all. > > I'm continuing my adventure through the bytecode and I have a question > about > the bytecodes for closures. Below is an example dump of a closure ([]) > > 165 <8F 10 00 1E> closureNumCopied: 1 numArgs: 0 bytes 169 to 198 > 169 <10> pushTemp: 0 > 170 <C7> send: class > 171 <83 11> send: selectors > 173 <83 10> send: asSortedCollection > 175 <52> pushLit: WriteStream > 176 <53> pushLit: String > 177 <CC> send: new > 178 <EA> send: on: > > The number on the left I will refer to as the line number to make my > questions more > clear. > > Firstly, on line 165 the closure is reporting num copied 1. What is the 1 > thing that it is copying? >
http://www.mirandabanda.org/cogblog/2008/06/07/closures-part-i/ http://www.mirandabanda.org/cogblog/2008/07/22/closures-part-ii-the-bytecodes/ Secondly, the send bytecode on line 171 is different to that on line 175. > Is it because 175 is using a set of known selectors while 171 has to refer > to a literal table? > I think you mean lines 171 & 177 right? If so, then yes, #new is a special selector (see Smalltalk specialSelectors). best Eliot > > Rgs, James. > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
