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]