The Trunk: Tools-eem.829.mcz

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

The Trunk: Tools-eem.829.mcz

commits-2
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.829.mcz

==================== Summary ====================

Name: Tools-eem.829
Author: eem
Time: 15 August 2018, 7:59:01.758651 pm
UUID: a9d8d8b5-5dbd-4838-8c9d-d0ac6c99801e
Ancestors: Tools-cmm.828

Fix a typo and an unnecessary complication in cutBackExecutionToSenderContext

=============== Diff against Tools-cmm.828 ===============

Item was changed:
  ----- Method: Debugger>>cutBackExecutionToSenderContext (in category 'private') -----
  cutBackExecutionToSenderContext
  "When accepting a new version of a method which can't be simulated (i.e. a quick method) we
  must cut back to the sender.  But this is non-trivial. If the quick method has been reached via
+ a perform: (as it is when one uses Create to implement a method from an MNU) then the relevant
- a perform: (as it is when one uses Create toi implement a method from an MNU) then the relevant
  arguments won't be on the stack and we can't simply proceed without crashing the VM."
  | oldContext context sel |
  oldContext := self selectedContext.
  self down.
  context := self selectedContext.
+ context pc: context previousPc.
- context jump: (context previousPc - context pc).
  sel := context selectorToSendOrSelf.
  sel numArgs = oldContext method numArgs
  ifTrue:
  [context push: oldContext receiver.
  oldContext arguments do:
  [:arg| context push: arg]]
  ifFalse:
  [context privRefresh; stepToSendOrReturn]!