The Trunk: Kernel-eem.751.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-eem.751.mcz

commits-2
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!