e.g. 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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com. |
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...". On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
Mariano Martinez Peck Software Engineer, Instantiations Inc. Email: [hidden email] Twitter: https://twitter.com/MartinezPeck Blog: https://marianopeck.wordpress.com/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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAOUkibHAD3LXY4MYRexJeDhiAgRXJnpVodhoLPZnv%3DdtyMMGgA%40mail.gmail.com. |
Thanks, that is ok
[hidden email] schrieb am Dienstag, 21. Juli 2020 um 15:39:58 UTC+2:
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/7f0cbb9f-4623-4125-9f34-a230021fb99an%40googlegroups.com. |
In reply to this post by Mariano Martinez Peck-2
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this: ##MonticelloMethodCompilationFailure. That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been: ##MonticelloMethodCompilationFailure == 'aaa' or ^ ##MonticelloMethodCompilationFailure. or anything that the Compiler wouldn't ignore it, it would have been found. BTW, we changed this behavior for Tonel's #commentedSource On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
Mariano Martinez Peck Software Engineer, Instantiations Inc. Email: [hidden email] Twitter: https://twitter.com/MartinezPeck Blog: https://marianopeck.wordpress.com/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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAOUkibG31L09zwv31D26%2B9ib0b7UZppXMs%3D%3DZFgPc4dCkcLEBw%40mail.gmail.com. |
Administrator
|
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
--
It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do. I don't have an example handy at the moment.
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/b1031ae3-31a5-41f6-aef4-7f52627ac415o%40googlegroups.com. |
In this case it would be nice to find all methods, so one can fix them ..
Richard Sargent schrieb am Dienstag, 21. Juli 2020 um 19:17:38 UTC+2:
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/ec61f266-f785-4306-b97d-83be4e2f45d2n%40googlegroups.com. |
Administrator
|
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
-- In this case it would be nice to find all methods, so one can fix them .. Fix them?
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/034f82eb-fdda-4886-85f9-b29812bb6ec6o%40googlegroups.com. |
Am 21.07.20 um 21:31 schrieb Richard
Sargent:
The MonticelloImporter remarks the original source code out if there is a compile error during import and adds a helper source into that method ... so you visit each method and fixes the errors. Marten 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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/7ae54ef8-3162-d0a0-3044-9be240c62176%40feldtmann.online. |
Administrator
|
On Tuesday, July 21, 2020 at 12:50:02 PM UTC-7, Marten Feldtmann wrote:
--
Can you elaborate on what's going on? What compile errors? Why? Atoms and Compile-time Constants should compile.
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/d0af9db3-52d7-44e1-adfc-18d68d46882eo%40googlegroups.com. |
Administrator
|
In reply to this post by Richard Sargent
Here is an example of browsing all methods with compile-time constants. (These are not Atoms; that's a different condition.) | methods | methods := CompiledMethod withAllSubclasses asArray multiAllInstances select: [:each | each hasCTC]. ((EtTools browser: #methods) on: methods labeled: 'Methods with Compile-time Constants') owningImage: self; open On Tuesday, July 21, 2020 at 10:17:38 AM UTC-7, Richard Sargent wrote:
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/ee363302-f888-4a06-93e9-6edfe762a5ebo%40googlegroups.com. |
Administrator
|
And this variant shows all methods with Atoms. | methods | methods := CompiledMethod withAllSubclasses asArray multiAllInstances select: [:each | each allLiterals anySatisfy: [:every | every isAtom]]. ((EtTools browser: #methods) on: methods labeled: 'Methods with Atoms') owningImage: self; open On Wednesday, July 22, 2020 at 1:08:07 AM UTC-7, Richard Sargent wrote:
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/022ff87c-e4c6-499b-aa31-f35d65c1526eo%40googlegroups.com. |
In reply to this post by Richard Sargent
Richard, its all ok. The way the MonticelloImporter works is totally ok and good. He imports the source code, tries to compile the method and if that fails, he preserves the original code (put them in "") and write a small helper code into that method - parts of this helper code is the "##ewifwoeifjw" (Atom) construction. Even though the compile errors are printed in the Transcript I personally would like to see, that I can query the system for methods where this specific Atom is placed in the source code. Richard Sargent schrieb am Mittwoch, 22. Juli 2020 um 09:52:39 UTC+2:
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/87634c40-6456-4df1-8af5-23740b1045dfn%40googlegroups.com. |
Administrator
|
On Wed, Jul 22, 2020, 04:41 Marten Feldtmann <[hidden email]> wrote:
Oh, that makes sense now. You can use a variant of the Atom example I provided. Instead of testing for #isAtom, you can test for that specific Atom, using #includes: rather than #anySatisfy:.
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 view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAGNapENrNtP9TL4M9_rFYB2AivfmHV8FCRdZf_WQu3LJdU_qEA%40mail.gmail.com. |
Free forum by Nabble | Edit this page |