[8.5.2] Custom compiler problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[8.5.2] Custom compiler problem

Richard Sargent
Administrator
I have a hierarchy of classes which use a custom compiler. Filing in new code is not a problem, the alternate compiler works as expected.

However, when browsing differences and loading alternatives (i.e., the previous version), I get an error. The error arises because the system needs to recompile the method, but my custom compiler requires a class method to be present. The image builder shows that the class methods should be there, but it hasn't installed them in the new instance of the class that it is creating. The class methods are seemingly ignored by EmImageBuilder class>>#createMethodFrom:in:orLink: answering false very early.

A related issue is that the method edition decides whether to use the linker based on whether the standard compiler is being used. (See EmMethodEdition>>#useLinkerFor:) It seems to me that this is incorrect, as I don't see anything in my method instances which suggest recompilation is necessary.


Any advice or guidance would be appreciated.
Thanks.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [8.5.2] Custom compiler problem

Richard Sargent
Administrator
I will add further that the problem seems to have arisen from the Load Alternatives selection applied against the class rather than the individual methods. I have not verified this, however.

On Tuesday, September 9, 2014 11:23:11 AM UTC-7, Richard Sargent wrote:
I have a hierarchy of classes which use a custom compiler. Filing in new code is not a problem, the alternate compiler works as expected.

However, when browsing differences and loading alternatives (i.e., the previous version), I get an error. The error arises because the system needs to recompile the method, but my custom compiler requires a class method to be present. The image builder shows that the class methods should be there, but it hasn't installed them in the new instance of the class that it is creating. The class methods are seemingly ignored by EmImageBuilder class>>#createMethodFrom:in:orLink: answering false very early.

A related issue is that the method edition decides whether to use the linker based on whether the standard compiler is being used. (See EmMethodEdition>>#useLinkerFor:) It seems to me that this is incorrect, as I don't see anything in my method instances which suggest recompilation is necessary.


Any advice or guidance would be appreciated.
Thanks.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.