[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