Re: The Trunk: MethodMassage-dtl.70.mcz

Eliot Miranda <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
On May 9, 2026, at 4:51 PM, [email protected] wrote:



I should note that while the MessageMassage test are all green for the Sista bytecode set, we do have a number of failures when running with the EncoderForV3PlusClosures bytecodes. These might be problems in the tests themselves, I am not sure.

To reproduce, evaluate "CompiledCode useSistaBytecodeSet: false", then run the MessageMassage tests.

I do not know the cause, but I'll post an update if I figure anything out.

For one thing, IIRC, there is no room left for an unused bytecode set in SqueakV3PlusClosures. I had to use all eight unused bytecodes to add closure support to SqueakV3.

Dave

On 2026-05-09 14:42, Taeumel, Marcel via Squeak-dev wrote:

Thanks! Such tests are very important 😊

----------

From: [email protected] <[email protected]>
Sent: Saturday, May 9, 2026 12:37:53 AM
To: [email protected] <[email protected]>; [email protected] <[email protected]>
Subject: [squeak-dev] The Trunk: MethodMassage-dtl.70.mcz

David T. Lewis uploaded a new version of MethodMassage to project The Trunk:
http://source.squeak.org/trunk/MethodMassage-dtl.70.mcz

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

Name: MethodMassage-dtl.70
Author: dtl
Time: 8 May 2026, 6:37:51.997322 pm
UUID: 6b8a0eb2-4cc6-489a-b68b-63a62756109d
Ancestors: MethodMassage-ct.69

Additional MethodMassage test coverage. BytecodeAssemblerMethodHeaderTest verifies that method header values are preserved when a compiled method is disassembled and reassembled.

See CompiledCode class comment for reference on method header format.

=============== Diff against MethodMassage-ct.69 ===============

Item was added:
+ MethodMassageTests subclass: #BytecodeAssemblerMethodHeaderTest
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'MethodMassage-Tests'!
+
+ !BytecodeAssemblerMethodHeaderTest commentStamp: 'dtl 3/14/2026 22:05' prior: 0!
+ BytecodeAssemblerMethodHeaderTest verifies that method header values are preserved when a compiled method is disassembled and reassembled.!

Item was added:
+ ----- Method: BytecodeAssemblerMethodHeaderTest>>checkHeader: (in category 'header check') -----
+ checkHeader: compiledMethod
+ "Verify that a method header generated by the bytecode assembler matches that
+ of the original compiled method header."
+
+ | assemblerMethod recompiledMethod |
+ assemblerMethod := BytecodeDisassembler new disassemble: compiledMethod.
+ recompiledMethod := BytecodeAssembler new assemble: assemblerMethod.
+ self assert: compiledMethod header equals: assemblerMethod header description: compiledMethod asString.
+ self assert: compiledMethod header equals: recompiledMethod header description: compiledMethod asString.!

Item was added:
+ ----- Method: BytecodeAssemblerMethodHeaderTest>>testManyMethodHeaders (in category 'tests') -----
+ testManyMethodHeaders
+ "Verify that the method header generated by the bytecode assembler matches
+ that of the original compiled method headers for a large set of compiled methods"
+
+ self thisPackage
+ actualMethodsDo: [:compiledMethod | self checkHeader: compiledMethod].
+ (PackageInfo named: #Kernel)
+ actualMethodsDo: [:compiledMethod | self checkHeader: compiledMethod].
+ (PackageInfo named: #Morphic)
+ actualMethodsDo: [:compiledMethod | self checkHeader: compiledMethod].
+ (PackageInfo named: #System)
+ actualMethodsDo: [:compiledMethod | self checkHeader: compiledMethod].
+ !

Item was added:
+ ----- Method: BytecodeAssemblerMethodHeaderTest>>testMethodHeader (in category 'tests') -----
+ testMethodHeader
+ "Verify that the method header generated by the bytecode assembler matches
+ that of an original compiled method header. Test with a non-trivial method that
+ requires largeBit to be set in the header."
+
+ self checkHeader: LargePositiveInteger>>#digitMul23:
+ !

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.