[squeak-dev] The Trunk: Compiler-eem.283.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 19 19:12:31 UTC 2014


Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.283.mcz

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

Name: Compiler-eem.283
Author: eem
Time: 19 May 2014, 12:12:07.81 pm
UUID: b275818f-33a6-461d-ab33-3d234e62f7ca
Ancestors: Compiler-eem.282

Remove some of the class variables of ParseNode that
are related to teh SqueakV3 bytecode set that are no
longer needed.

=============== Diff against Compiler-eem.282 ===============

Item was changed:
  Object subclass: #ParseNode
  	instanceVariableNames: 'comment pc'
+ 	classVariableNames: 'CodeBases CodeLimits LdFalse LdInstType LdLitIndType LdLitType LdMinus1 LdNil LdSelf LdSuper LdTempType LdThisContext LdTrue LoadLong NodeFalse NodeNil NodeSelf NodeSuper NodeThisContext NodeTrue Send SendPlus SendType StdLiterals StdSelectors StdVariables'
- 	classVariableNames: 'Bfp BtpLong CodeBases CodeLimits DblExtDoAll Dup EndMethod EndRemote Jmp JmpLimit JmpLong LdFalse LdInstLong LdInstType LdLitIndType LdLitType LdMinus1 LdNil LdSelf LdSuper LdTempType LdThisContext LdTrue LoadLong LongLongDoAll NodeFalse NodeNil NodeSelf NodeSuper NodeThisContext NodeTrue Pop Send SendLimit SendLong SendLong2 SendPlus SendType ShortStoP StdLiterals StdSelectors StdVariables Store StorePop'
  	poolDictionaries: ''
  	category: 'Compiler-ParseNodes'!
  
  !ParseNode commentStamp: '<historical>' prior: 0!
  This superclass of most compiler/decompiler classes declares common class variables, default messages, and the code emitters for jumps. Some of the class variables are initialized here; the rest are initialized in class VariableNode.!

Item was removed:
- ----- Method: ParseNode class>>blockReturnCode (in category 'accessing') -----
- blockReturnCode
- 
- 	^ EndRemote!

Item was changed:
  ----- Method: ParseNode class>>initialize (in category 'class initialization') -----
  initialize
  	"ParseNode initialize. VariableNode initialize"
  	LdInstType := 1.
  	LdTempType := 2.
  	LdLitType := 3.
  	LdLitIndType := 4.
  	SendType := 5.
+ 	"Back in the day the following constants corresponded to bytecodes.
+ 	 Now they're just unique values that need to be eliminated when and if
+ 	 things like code:type: are cleaned up."
  	CodeBases := #(0 16 32 64 208 ).
  	CodeLimits := #(16 16 32 32 16 ).
  	LdSelf := 112.
  	LdTrue := 113.
  	LdFalse := 114.
  	LdNil := 115.
  	LdMinus1 := 116.
  	LoadLong := 128.
- 	Store := 129.
- 	StorePop := 130.
- 	ShortStoP := 96.
- 	SendLong := 131.
- 	DblExtDoAll := 132.
- 	SendLong2 := 134.
  	LdSuper := 133.
- 	Pop := 135.
- 	Dup := 136.
  	LdThisContext := 137.
- 	EndMethod := 124.
- 	EndRemote := 125.
- 	Jmp := 144.
- 	Bfp := 152.
- 	JmpLimit := 8.
- 	JmpLong := 164.  "code for jmp 0"
- 	BtpLong := 168.
  	SendPlus := 176.
+ 	Send := 208
+ 	
+ 	"((ParseNode class >> #initialize) literals select: [:l| l isVariableBinding and: [(ParseNode classPool includesAssociation: l) and: [(self systemNavigation allCallsOn: l localTo: ParseNode) size = 1]]]) sort: [:a :b| a key <= b key]"
+ 
+ 	"ParseNode classPool associations select: [:a| (self systemNavigation allCallsOn: a localTo: ParseNode) isEmpty]"!
- 	Send := 208.
- 	SendLimit := 16!

Item was removed:
- ----- Method: ParseNode class>>popCode (in category 'accessing') -----
- popCode
- 
- 	^ Pop!



More information about the Squeak-dev mailing list