[squeak-dev] The Trunk: Tools-eem.829.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 16 02:59:04 UTC 2018


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]!



More information about the Squeak-dev mailing list