Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.751.mcz==================== Summary ====================
Name: Kernel-eem.751
Author: eem
Time: 22 March 2013, 2:53:15.234 pm
UUID: ba80dd7e-4655-40c1-a0e1-d322c0d541e9
Ancestors: Kernel-eem.750
Now that the simulation guard is gone from doPrimitive:method:receiver:args:
the simulation machinery can avoid stepping into it, allowing
the debugger to debug doPrimitive:method:receiver:args:
=============== Diff against Kernel-eem.750 ===============
Item was changed:
----- Method: ContextPart>>send:super:numArgs: (in category 'instruction decoding') -----
send: selector super: superFlag numArgs: numArgs
"Simulate the action of bytecodes that send a message with selector,
selector. The argument, superFlag, tells whether the receiver of the
message was specified with 'super' in the source method. The arguments
of the message are found in the top numArgs locations on the stack and
the receiver just below them."
+ | receiver arguments |
- | receiver arguments answer |
arguments := Array new: numArgs.
numArgs to: 1 by: -1 do: [ :i | arguments at: i put: self pop].
receiver := self pop.
+ QuickStep == self ifTrue:
+ [QuickStep := nil.
- selector == #doPrimitive:method:receiver:args:
- ifTrue: [answer := receiver
- doPrimitive: (arguments at: 1)
- method: (arguments at: 2)
- receiver: (arguments at: 3)
- args: (arguments at: 4).
- self push: answer.
- ^self].
- QuickStep == self ifTrue: [
- QuickStep := nil.
^self quickSend: selector to: receiver with: arguments super: superFlag].
^self send: selector to: receiver with: arguments super: superFlag!