[Vm-dev] Igor's fast become for CompiledMethods in Cog
Eliot Miranda
eliot.miranda at gmail.com
Tue Jan 31 19:50:11 UTC 2012
On Tue, Jan 31, 2012 at 11:22 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:
>
> Hi Eliot. Me again :) I was checking the changes Igor did some time ago
> for the fast become where he basically swapped the bytes contents between
> the objects when they were the same size and same header type. He put such
> code in separate primtives and some changes in the image side to call them.
> I have just played with them and they seem to work. I have 2 questions for
> you:
>
> 1) Do you think that this new fast become can have problems when becoming
> CompiledMethods? I am asking because of the JIT/Pic. Maybe I need a
> flushCache or something?
>
Yes, almost certainly. You'd want to do a flushCache on both methods.
> So far, I tried for example the following:
> | methods |
> methods := IdentitySet new.
> (PackageInfo allPackages select: [:each|
> (#( 'AST' 'Autotest' 'AutomaticMethodCategorizer' "'Bogus'
> 'CodeStats' 'Gofer' 'Metacello' 'FreeType' 'HelpSystem' 'ProfStef'
> 'ScriptManager' 'Zinc' 'Sound' 'Tests' 'ConfigurationOf'
> 'ImageForDevelopers' 'LED' 'MemoryMonitor' 'SUnit' 'TrueType' 'Monticello'
> 'Network' 'Refactoring' 'Regex' 'ToolBuilder'" ) anySatisfy: [:aString |
> (each packageName includesSubString: aString)])
> ] )
> do: [:aPackage |
> aPackage classes do: [:each | methods addAll: each methods ].
> ].
> methods do: [:each |
> each become: each copy
> ]
>
> and I run the tests of that package before and after... no crash. Is there
> something better I could test?
>
You need to test methods that are in use. There's an "xray" primitive for
peering below the line, e.g. to find out if a method exists as machine
codee. Alas I only implemented the xray primitive for contexts (see
MethodContext>>xray in Cog-Tests). There should be one for methods as
well.
>
> 2) If I prepare a nice script with some small modifications to Igor's
> proposal would you take a look and integrate it if it is ok? Just to know
> whether I should spend time on that or not.
>
yes.
>
> Thanks in advance,
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>
--
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20120131/5b69d0a6/attachment.htm
More information about the Vm-dev
mailing list