The Trunk: MethodMassage-dtl.71.mcz
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
David T. Lewis uploaded a new version of MethodMassage to project The Trunk: http://source.squeak.org/trunk/MethodMassage-dtl.71.mcz ==================== Summary ==================== Name: MethodMassage-dtl.71 Author: dtl Time: 10 May 2026, 4:49:49.186657 pm UUID: 06b25161-0bbf-4861-b500-11592dfae901 Ancestors: MethodMassage-dtl.70 Fix for MessageMassageTest errors when running with EncoderForV3PlusClosures. The errors are raised by an assert check in ByteCodeAssembler>>spanToBlockLabel: which checks that the bytecode preceding a block label is a return bytecode. Add #methodReturnSpecialConstant to the list of possible returns. =============== Diff against MethodMassage-dtl.70 =============== Item was changed: ----- Method: BytecodeAssembler>>spanToBlockLabel: (in category 'assembly') ----- spanToBlockLabel: label "<Association>" "N.B. Block labels are expected to follow the last bytecode in the block and preceed the bytecode following the block." | labelIndex | labelIndex := label value. labelIndex ifNil: [labelIndex := code instructions identityIndexOf: label. label value: labelIndex]. self assert: (labelIndex > 1 and: [(self isLabel: (code instructions at: labelIndex - 1)) not + and: [#(blockReturnTop blockReturnConstant: methodReturnSpecialConstant: - and: [#(blockReturnTop blockReturnConstant: methodReturnTop methodReturnConstant: methodReturnReceiver) includes: (code instructions at: labelIndex - 1) selector]]). ^(sizes at: labelIndex) ifNotNil: [self totalSizeFrom: index + 1 to: labelIndex - 1]! Squeak-dev mailing list -- [email protected] To unsubscribe send an email to [email protected]