[squeak-dev] The Trunk: Tools-eem.522.mcz

commits at source.squeak.org commits at source.squeak.org
Tue May 20 23:27:38 UTC 2014


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!



More information about the Squeak-dev mailing list