[Pkg] The Trunk: Tools-eem.556.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Mar 20 19:36:03 UTC 2015


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!



More information about the Packages mailing list