The Trunk: EToys-eem.291.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: EToys-eem.291.mcz

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

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

Name: EToys-eem.291
Author: eem
Time: 4 April 2017, 5:55:00.217947 pm
UUID: c62015f2-3ec7-4885-a001-f7b39758b4d5
Ancestors: EToys-eem.290

Remove more unused cruft from EToys kernel and compiler classes.

=============== Diff against EToys-eem.290 ===============

Item was removed:
- ----- Method: CompiledMethod>>qDecompress: (in category '*Etoys-Squeakland-source code management') -----
- qDecompress: byteArray
- "Decompress strings compressed by qCompress:.
- Most common 12 chars get values 0-11 packed in one 4-bit nibble;
- others get values 12-15 (2 bits) * 16 plus next nibble"
- |  charTable extended ext |
- charTable :=  "Character encoding table must match qCompress:"
- ' eatrnoislcm bdfghjkpquvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'.
- ^ String streamContents:
- [:strm | extended := false.  "Flag for 2-nibble characters"
- byteArray do:
- [:byte |
- (Array with: byte//16 with: byte\\16)
- do:
- [:nibble | extended
- ifTrue: [strm nextPut: (charTable at: ext*16+nibble + 1). extended := false]
- ifFalse: [nibble < 12 ifTrue: [strm nextPut: (charTable at: nibble + 1)]
- ifFalse: [ext := nibble-12.  extended := true]]]]]!

Item was removed:
- ----- Method: CompiledMethod>>scanLongLoad: (in category '*Etoys-Squeakland-scanning') -----
- scanLongLoad: extension
- "Answer whether the receiver contains a long load whose extension is the
- argument."
-
- | scanner |
- scanner := InstructionStream on: self.
- ^scanner scanFor: [:instr | instr = 128 and: [scanner followingByte = extension]]!

Item was removed:
- ----- Method: CompiledMethod>>scanLongStore: (in category '*Etoys-Squeakland-scanning') -----
- scanLongStore: extension
- "Answer whether the receiver contains a long store whose extension is
- the argument."
- | scanner |
- scanner := InstructionStream on: self.
- ^scanner scanFor:
- [:instr |  (instr = 129 or: [instr = 130]) and: [scanner followingByte = extension]]!

Item was removed:
- ----- Method: CompiledMethod>>scanVeryLongLoad:offset: (in category '*Etoys-Squeakland-scanning') -----
- scanVeryLongLoad: extension offset: offset
- "Answer whether the receiver contains a long load whose extension is the
- argument."
- | scanner |
- scanner := InstructionStream on: self.
- ^ scanner scanFor: [:instr | (instr = 132 and: [scanner followingByte = extension])
- and: [scanner thirdByte = offset]]!

Item was removed:
- ----- Method: Decompiler>>checkForBlock: (in category '*Etoys-Squeakland-control') -----
- checkForBlock: receiver
- "We just saw a blockCopy: message. Check for a following block."
-
- | savePc jump args argPos block |
- receiver == constructor codeThisContext ifFalse: [^false].
- savePc := pc.
- (jump := self interpretJump) notNil
- ifFalse:
- [pc := savePc.  ^nil].
- "Definitely a block"
- jump := jump + pc.
- argPos := statements size.
- [self willStorePop]
- whileTrue:
- [stack addLast: ArgumentFlag.  "Flag for doStore:"
- self interpretNextInstructionFor: self].
- args := Array new: statements size - argPos.
- 1 to: args size do:  "Retrieve args"
- [:i | args at: i put: statements removeLast.
- (args at: i) scope: -1  "flag args as block temps"].
- block := self blockTo: jump.
- stack addLast: (constructor codeArguments: args block: block).
- ^true!

Item was removed:
- ----- Method: InstructionStream>>interpretExtension:in:for: (in category '*Etoys-Squeakland-private') -----
- interpretExtension: offset in: method for: client
- | type offset2 byte2 byte3 |
- offset <=6 ifTrue:
- ["Extended op codes 128-134"
- byte2 := method at: pc.
- pc := pc + 1.
- offset <= 2 ifTrue:
- ["128-130:  extended pushes and pops"
- type := byte2 // 64.
- offset2 := byte2 \\ 64.
- offset = 0 ifTrue:
- [type = 0 ifTrue: [^ client pushReceiverVariable: offset2].
- type = 1 ifTrue: [^ client pushTemporaryVariable: offset2].
- type = 2  ifTrue: [^ client pushConstant: (method literalAt: offset2 + 1)].
- type = 3 ifTrue: [^ client pushLiteralVariable: (method literalAt: offset2 + 1)]].
- offset = 1 ifTrue:
- [type = 0 ifTrue: [^ client storeIntoReceiverVariable: offset2].
- type = 1 ifTrue: [^ client storeIntoTemporaryVariable: offset2].
- type = 2 ifTrue: [self error: 'illegalStore'].
- type = 3 ifTrue: [^ client storeIntoLiteralVariable: (method literalAt: offset2 + 1)]].
- offset = 2 ifTrue:
- [type = 0 ifTrue: [^ client popIntoReceiverVariable: offset2].
- type = 1 ifTrue: [^ client popIntoTemporaryVariable: offset2].
- type = 2 ifTrue: [self error: 'illegalStore'].
- type = 3  ifTrue: [^ client popIntoLiteralVariable: (method literalAt: offset2 + 1)]]].
- "131-134: extended sends"
- offset = 3 ifTrue:  "Single extended send"
- [^ client send: (method literalAt: byte2 \\ 32 + 1)
- super: false numArgs: byte2 // 32].
- offset = 4 ifTrue:    "Double extended do-anything"
- [byte3 := method at: pc.  pc := pc + 1.
- type := byte2 // 32.
- type = 0 ifTrue: [^ client send: (method literalAt: byte3 + 1)
- super: false numArgs: byte2 \\ 32].
- type = 1 ifTrue: [^ client send: (method literalAt: byte3 + 1)
- super: true numArgs: byte2 \\ 32].
- type = 2 ifTrue: [^ client pushReceiverVariable: byte3].
- type = 3 ifTrue: [^ client pushConstant: (method literalAt: byte3 + 1)].
- type = 4 ifTrue: [^ client pushLiteralVariable: (method literalAt: byte3 + 1)].
- type = 5 ifTrue: [^ client storeIntoReceiverVariable: byte3].
- type = 6 ifTrue: [^ client popIntoReceiverVariable: byte3].
- type = 7 ifTrue: [^ client storeIntoLiteralVariable: (method literalAt: byte3 + 1)]].
- offset = 5 ifTrue:  "Single extended send to super"
- [^ client send: (method literalAt: byte2 \\ 32 + 1)
- super: true numArgs: byte2 // 32].
- offset = 6 ifTrue:   "Second extended send"
- [^ client send: (method literalAt: byte2 \\ 64 + 1)
- super: false numArgs: byte2 // 64]].
- offset = 7 ifTrue: [^ client doPop].
- offset = 8 ifTrue: [^ client doDup].
- offset = 9 ifTrue: [^ client pushActiveContext].
- self error: 'unusedBytecode'!