From cbe5209155381d86d095d40d97735bec4ceb2ff4 Mon Sep 17 00:00:00 2001 From: renaud Date: Tue, 7 May 2024 16:03:12 +0200 Subject: [PATCH 1/2] Do not retain any selectors in CogAbstractInstruction --- smalltalksrc/VMMaker/CogAbstractInstruction.class.st | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smalltalksrc/VMMaker/CogAbstractInstruction.class.st b/smalltalksrc/VMMaker/CogAbstractInstruction.class.st index 56dae0d7ec..40cdd40501 100644 --- a/smalltalksrc/VMMaker/CogAbstractInstruction.class.st +++ b/smalltalksrc/VMMaker/CogAbstractInstruction.class.st @@ -290,12 +290,12 @@ CogAbstractInstruction class >> registerMaskFor: reg1 and: reg2 and: reg3 and: r { #category : #translation } CogAbstractInstruction class >> requiredMethodNames: options [ - ^self selectors reject: + ^ super requiredMethodNames: options"self selectors reject: [:s| | m | (self isAccessor: s) or: [((m := self compiledMethodAt: s) isQuick and: [m pragmas isEmpty]) or: [(m pragmaAt: #doNotGenerate) notNil - or: [(m pragmaAt: #inline:) notNil and: [(m pragmaAt: #inline:) arguments first == true]]]]] + or: [(m pragmaAt: #inline:) notNil and: [(m pragmaAt: #inline:) arguments first == true]]]]]" ] { #category : #verification } From 8b4b0934935919926682422c95ce247814070883 Mon Sep 17 00:00:00 2001 From: renaud Date: Tue, 7 May 2024 16:33:03 +0200 Subject: [PATCH 2/2] Remove overly conservative requiredMethodNames: --- smalltalksrc/VMMaker/CogAbstractInstruction.class.st | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/smalltalksrc/VMMaker/CogAbstractInstruction.class.st b/smalltalksrc/VMMaker/CogAbstractInstruction.class.st index 40cdd40501..8a363ea4cc 100644 --- a/smalltalksrc/VMMaker/CogAbstractInstruction.class.st +++ b/smalltalksrc/VMMaker/CogAbstractInstruction.class.st @@ -288,16 +288,6 @@ CogAbstractInstruction class >> registerMaskFor: reg1 and: reg2 and: reg3 and: r ^Cogit basicNew registerMaskFor: reg1 and: reg2 and: reg3 and: reg4 and: reg5 and: reg6 and: reg7 and: reg8 and: reg9 and: reg10 ] -{ #category : #translation } -CogAbstractInstruction class >> requiredMethodNames: options [ - ^ super requiredMethodNames: options"self selectors reject: - [:s| | m | - (self isAccessor: s) - or: [((m := self compiledMethodAt: s) isQuick and: [m pragmas isEmpty]) - or: [(m pragmaAt: #doNotGenerate) notNil - or: [(m pragmaAt: #inline:) notNil and: [(m pragmaAt: #inline:) arguments first == true]]]]]" -] - { #category : #verification } CogAbstractInstruction class >> specificOpcodes [ ^self subclassResponsibility