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

commits-2
Eliot Miranda uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-eem.522.mcz

==================== Summary ====================

Name: Tools-eem.522
Author: eem
Time: 20 May 2014, 4:27:02.888 pm
UUID: 883b5218-67a9-4d85-9f1b-6969772fcefb
Ancestors: Tools-nice.521

Simpler, faster pcPreviousTo: using new multiple bytecode set
support.

=============== Diff against Tools-nice.521 ===============

Item was changed:
  ----- Method: CompiledMethod>>pcPreviousTo: (in category '*Tools-Debugger-support') -----
+ pcPreviousTo: thePC
+ "Answer the pc of the bytecode before the bytecode at thePC."
+ | pc prevPc byte encoderClass |
- pcPreviousTo: pc
- | scanner client prevPc |
  self flag: 'belongs in DebuggerMethodMap?'.
+ thePC > self endPC ifTrue: [^self endPC].
+ pc := self initialPC.
+ encoderClass := self encoderClass.
+ [pc < thePC] whileTrue:
+ [byte := self at: (prevPc := pc).
+ [pc := pc + (encoderClass bytecodeSize: byte).
+  encoderClass isExtension: byte] whileTrue:
+ [byte := self at: pc]].
- pc > self endPC ifTrue: [^self endPC].
- scanner := InstructionStream on: self.
- client := InstructionClient new.
- [scanner pc < pc] whileTrue:
- [prevPc := scanner pc.
- scanner interpretNextInstructionFor: client].
  ^prevPc!