[squeak-dev] The Trunk: Tools-eem.1060.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Jul 1 21:40:59 UTC 2021
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.1060.mcz
==================== Summary ====================
Name: Tools-eem.1060
Author: eem
Time: 1 July 2021, 2:40:56.604268 pm
UUID: 812128d2-6043-4a23-b5ad-307b59d7063a
Ancestors: Tools-eem.1059
Use a much more straight-0forward and accurate way to determine if the debugger is at an initial break in toggle break on entry. Also remember to test the result of the determination ;-)
=============== Diff against Tools-eem.1059 ===============
Item was changed:
----- Method: Debugger>>toggleBreakOnEntry (in category 'breakpoints') -----
toggleBreakOnEntry
"Override to rset to the new breakless method if stopped at a break point.
N.B. does not (yet) do the reverse."
+ | ctxt prevPC atInitialBreak newMethod |
- | ctxt prevPC bytecodeMessage atInitialBreak newMethod |
((ctxt := self selectedContext) isNil
or: [(prevPC := ctxt previousPc) isNil]) ifTrue:
[^super toggleBreakOnEntry].
+ atInitialBreak := ctxt selectorJustSentOrSelf == #break
+ and: [(ctxt method pcPreviousTo: ctxt previousPc) = ctxt method initialPC].
- bytecodeMessage := ctxt method abstractBytecodeMessageAt: ctxt previousPc.
- atInitialBreak := bytecodeMessage selector = #send:super:numArgs:
- and: [bytecodeMessage arguments = #(break false 0)].
super toggleBreakOnEntry.
+ newMethod := ctxt method methodReference compiledMethod.
+ (atInitialBreak
+ and: [newMethod isCompiledCode
+ and: [newMethod ~~ ctxt method]]) ifTrue:
- ((newMethod := ctxt method methodReference compiledMethod) notNil
- and: [newMethod ~~ ctxt method]) ifTrue:
[ctxt privRefreshWith: newMethod.
self resetContext: ctxt.
self debug]!
More information about the Squeak-dev
mailing list
|