[Vm-dev] VM Maker: VMMaker.oscog-eem.1187.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Apr 13 21:43:53 UTC 2015


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1187.mcz

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

Name: VMMaker.oscog-eem.1187
Author: eem
Time: 13 April 2015, 2:42:11.955 pm
UUID: 07546b59-e5a0-46ac-9300-4e153dc451b6
Ancestors: VMMaker.oscog-cb.1186

Nuke the unused NewspeakV3 initializers

=============== Diff against VMMaker.oscog-cb.1186 ===============

Item was removed:
- ----- Method: SimpleStackBasedCogit class>>initializeBytecodeTableForNewspeakV3PlusClosures (in category 'class initialization') -----
- initializeBytecodeTableForNewspeakV3PlusClosures
- 	"SimpleStackBasedCogit initializeBytecodeTableForNewspeakV3PlusClosures"
- 
- 	NSSendIsPCAnnotated := true. "IsNSSendCall used by PushImplicitReceiver"
- 	FirstSpecialSelector := 176.
- 	self flag:
- 'Special selector send class must be inlined to agree with the interpreter, which
-  inlines class.  If class is sent to e.g. a general instance of ProtoObject then unless
-  class is inlined there will be an MNU.  It must be that the Cointerpreter and Cogit
-  have identical semantics.  We get away with not hardwiring the other special
-  selectors either because in the Cointerpreter they are not inlined or because they
-  are inlined only to instances of classes for which there will always be a method.'.
- 	self generatorTableFrom: #(
- 		(1    0   15 genPushReceiverVariableBytecode)
- 		(1  16   31 genPushTemporaryVariableBytecode)
- 		(1  32   63 genPushLiteralConstantBytecode needsFrameNever: 1)
- 		(1  64   95 genPushLiteralVariableBytecode needsFrameNever: 1)
- 		(1  96 103 genStoreAndPopReceiverVariableBytecode needsFrameNever: -1) "N.B. not frameless if immutability"
- 		(1 104 111 genStoreAndPopTemporaryVariableBytecode)
- 		(1 112 112 genPushReceiverBytecode)
- 		(1 113 113 genPushConstantTrueBytecode needsFrameNever: 1)
- 		(1 114 114 genPushConstantFalseBytecode needsFrameNever: 1)
- 		(1 115 115 genPushConstantNilBytecode needsFrameNever: 1)
- 		(1 116 119 genPushQuickIntegerConstantBytecode needsFrameNever: 1)
- 		"method returns in blocks need a frame because of nonlocalReturn:through:"
- 		(1 120 120 genReturnReceiver				return needsFrameIfInBlock: isMappedInBlock 0)
- 		(1 121 121 genReturnTrue					return needsFrameIfInBlock: isMappedInBlock 0)
- 		(1 122 122 genReturnFalse					return needsFrameIfInBlock: isMappedInBlock 0)
- 		(1 123 123 genReturnNil					return needsFrameIfInBlock: isMappedInBlock 0)
- 		(1 124 124 genReturnTopFromMethod		return needsFrameIfInBlock: isMappedInBlock -1)
- 		(1 125 125 genReturnTopFromBlock		return needsFrameNever: -1)
- 
- 		(3 126 126 unknownBytecode)		"Was non-absent Newspeak super"
- 		(2 127 127 unknownBytecode)		"Was push implicit receiver"
- 
- 		(2 128 128 extendedPushBytecode)
- 		(2 129 129 extendedStoreBytecode)
- 		(2 130 130 extendedStoreAndPopBytecode)
- 		(2 131 131 genExtendedSendBytecode isMapped)
- 		(3 132 132 doubleExtendedDoAnythingBytecode isMapped)
- 		(2 133 133 genExtendedSuperBytecode isMapped)
- 		(2 134 134 genSecondExtendedSendBytecode isMapped)
- 		(1 135 135 genPopStackBytecode needsFrameNever: -1)
- 		(1 136 136 duplicateTopBytecode needsFrameNever: 1)
- 
- 		(1 137 137 genPushActiveContextBytecode)
- 		(2 138 138 genPushNewArrayBytecode)
- 
- 		(3 139 139 genCallPrimitiveBytecode)
- 		(3 140 140 genPushRemoteTempLongBytecode)
- 		(3 141 141 genStoreRemoteTempLongBytecode)
- 		(3 142 142 genStoreAndPopRemoteTempLongBytecode)
- 		(4 143 143 genPushClosureCopyCopiedValuesBytecode block v3:Block:Code:Size:)
- 
- 		(1 144 151 genShortUnconditionalJump			branch v3:ShortForward:Branch:Distance:)
- 		(1 152 159 genShortJumpIfFalse					branch isBranchFalse isMapped "because of mustBeBoolean"
- 															v3:ShortForward:Branch:Distance:)
- 		(2 160 163 genLongUnconditionalBackwardJump	branch isMapped "because of interrupt check"
- 															v3:Long:Branch:Distance:)
- 		(2 164 167 genLongUnconditionalForwardJump		branch v3:Long:Branch:Distance:)
- 		(2 168 171 genLongJumpIfTrue					branch isBranchTrue isMapped "because of mustBeBoolean"
- 															v3:LongForward:Branch:Distance:)
- 		(2 172 175 genLongJumpIfFalse					branch isBranchFalse isMapped "because of mustBeBoolean"
- 															v3:LongForward:Branch:Distance:)
- 
- 		(1 176 197 genSpecialSelectorSend isMapped)
- 		(1 198 198 genSpecialSelectorEqualsEquals needsFrameNever: notMapped -1) "not mapped because it is directly inlined (for now)"
- 		(1 199 199 genSpecialSelectorClass needsFrameNever: notMapped 0) "not mapped because it is directly inlined (for now)"
- 		(1 200 207 genSpecialSelectorSend isMapped)
- 		(1 208 223 genSendLiteralSelector0ArgsBytecode isMapped)
- 		(1 224 239 genSendLiteralSelector1ArgBytecode isMapped)
- 		(1 240 255 genSendLiteralSelector2ArgsBytecode isMapped))!

Item was removed:
- ----- Method: StackInterpreter class>>initializeBytecodeTableForNewspeakV3PlusClosures (in category 'initialization') -----
- initializeBytecodeTableForNewspeakV3PlusClosures
- 	"StackInterpreter initializeBytecodeTableForNewspeakV3PlusClosures"
- 	"Note: This table will be used to generate a C switch statement."
- 
- 	BytecodeTable := Array new: 256.
- 	BytecodeEncoderClassName := #EncoderForNewsqueakV3.
- 	LongStoreBytecode := 129.
- 	self table: BytecodeTable from:
- 	#(
- 		(  0  15 pushReceiverVariableBytecode)
- 		( 16  31 pushTemporaryVariableBytecode)
- 		( 32  63 pushLiteralConstantBytecode)
- 		( 64  95 pushLiteralVariableBytecode)
- 		( 96 103 storeAndPopReceiverVariableBytecode)
- 		(104 111 storeAndPopTemporaryVariableBytecode)
- 		(112 pushReceiverBytecode)
- 		(113 pushConstantTrueBytecode)
- 		(114 pushConstantFalseBytecode)
- 		(115 pushConstantNilBytecode)
- 		(116 pushConstantMinusOneBytecode)
- 		(117 pushConstantZeroBytecode)
- 		(118 pushConstantOneBytecode)
- 		(119 pushConstantTwoBytecode)
- 		(120 returnReceiver)
- 		(121 returnTrue)
- 		(122 returnFalse)
- 		(123 returnNil)
- 		(124 returnTopFromMethod)
- 		(125 returnTopFromBlock)
- 
- 		(126 unknownBytecode) "Was non-absent dynamic super send"
- 		(127 unknownBytecode) "Was push implicit receiver"
- 
- 		(128 extendedPushBytecode)
- 		(129 extendedStoreBytecode)
- 		(130 extendedStoreAndPopBytecode)
- 		(131 singleExtendedSendBytecode)
- 		(132 doubleExtendedDoAnythingBytecode)
- 		(133 singleExtendedSuperBytecode)
- 		(134 secondExtendedSendBytecode)
- 		(135 popStackBytecode)
- 		(136 duplicateTopBytecode)
- 
- 		(137 pushActiveContextBytecode)
- 		(138 pushNewArrayBytecode)
- 
- 		(139 callPrimitiveBytecode) "Was push enclosing object"
- 
- 		(140 pushRemoteTempLongBytecode)
- 		(141 storeRemoteTempLongBytecode)
- 		(142 storeAndPopRemoteTempLongBytecode)
- 		(143 pushClosureCopyCopiedValuesBytecode)
- 
- 		(144 151 shortUnconditionalJump)
- 		(152 159 shortConditionalJumpFalse)
- 		(160 167 longUnconditionalJump)
- 		(168 171 longJumpIfTrue)
- 		(172 175 longJumpIfFalse)
- 
- 		"176-191 were sendArithmeticSelectorBytecode"
- 		(176 bytecodePrimAdd)
- 		(177 bytecodePrimSubtract)
- 		(178 bytecodePrimLessThan)
- 		(179 bytecodePrimGreaterThan)
- 		(180 bytecodePrimLessOrEqual)
- 		(181 bytecodePrimGreaterOrEqual)
- 		(182 bytecodePrimEqual)
- 		(183 bytecodePrimNotEqual)
- 		(184 bytecodePrimMultiply)
- 		(185 bytecodePrimDivide)
- 		(186 bytecodePrimMod)
- 		(187 bytecodePrimMakePoint)
- 		(188 bytecodePrimBitShift)
- 		(189 bytecodePrimDiv)
- 		(190 bytecodePrimBitAnd)
- 		(191 bytecodePrimBitOr)
- 
- 		"192-207 were sendCommonSelectorBytecode"
- 		(192 bytecodePrimAt)
- 		(193 bytecodePrimAtPut)
- 		(194 bytecodePrimSize)
- 		(195 bytecodePrimNext)
- 		(196 bytecodePrimNextPut)
- 		(197 bytecodePrimAtEnd)
- 		(198 bytecodePrimIdentical)
- 		(199 bytecodePrimClass)
- 		(200 bytecodePrimSpecialSelector24)
- 		(201 bytecodePrimValue)
- 		(202 bytecodePrimValueWithArg)
- 		(203 bytecodePrimDo)
- 		(204 bytecodePrimNew)
- 		(205 bytecodePrimNewWithArg)
- 		(206 bytecodePrimPointX)
- 		(207 bytecodePrimPointY)
- 
- 		(208 223 sendLiteralSelector0ArgsBytecode)
- 		(224 239 sendLiteralSelector1ArgBytecode)
- 		(240 255 sendLiteralSelector2ArgsBytecode)
- 	)!



More information about the Vm-dev mailing list