2010/8/11 James Ladd
<james_ladd@hotmail.com>
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?
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
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project