Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.556.mcz==================== Summary ====================
Name: Tools-eem.556
Author: eem
Time: 20 March 2015, 12:35:32.087 pm
UUID: a804a709-6711-4c89-ab48-81bd4d50c66b
Ancestors: Tools-topa.555
Cache endPC in abstractPCForConcretePC: so that
run to here... in breakponted methods doesn't take
an eternity.
=============== Diff against Tools-topa.555 ===============
Item was changed:
----- Method: CompiledMethod>>abstractPCForConcretePC: (in category '*Tools-Debugger-support') -----
abstractPCForConcretePC: concretePC
"Answer the abstractPC matching concretePC."
+ | abstractPC scanner client endPC |
- | abstractPC scanner client |
self flag: 'belongs in DebuggerMethodMap?'.
abstractPC := 1.
scanner := InstructionStream on: self.
client := InstructionClient new.
+ "cache endPC for methods with embedded source; finding out the endPC is very slow in this case..."
+ endPC := self endPC.
+ [(scanner pc > endPC
- [(scanner atEnd
or: [scanner pc >= concretePC]) ifTrue:
[^abstractPC].
abstractPC := abstractPC + 1.
scanner interpretNextInstructionFor: client] repeat!