The Trunk: Tools-eem.556.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.556.mcz

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