On 24 August 2012 16:10, Mariano Martinez Peck <[email protected]> wrote:
>
>
> On Fri, Aug 24, 2012 at 4:08 PM, Igor Stasenko <[email protected]> wrote:
>>
>> On 24 August 2012 15:49, Mariano Martinez Peck <[email protected]>
>> wrote:
>> >
>> >
>> > On Fri, Aug 24, 2012 at 3:39 PM, Mariano Martinez Peck
>> > <[email protected]> wrote:
>> >>
>> >>
>> >>
>> >> On Thu, Aug 23, 2012 at 5:44 PM, Igor Stasenko <[email protected]>
>> >> wrote:
>> >>>
>> >>> no idea :/
>> >>> you can just resave them to go back to normal
>> >>>
>> >>
>> >> http://code.google.com/p/pharo/issues/detail?id=6599
>> >> And now there is a test under ReleaseTest. So next time they are
>> >> generated, we should know in which update this test failed.
>> >>
>> >
>> > grrrr we have even more
>> >
>> > ((CompiledMethod allInstances select: [:each | (#(#NoTrailer
>> > #SourcePointer
>> > #VarLengthSourcePointer) includes: each trailer kind) not and: [ each
>> > isInstalled ]  ])) size -> 18
>> >
>> VarLengthSourcePointer is OK.
>> this source pointer is used for entries when .changes file goes over 32MB
>> size.
>> NoTrailer is used for anonymous methods and methods which bypass the
>> logging their source into .changes file
>> for one or another reason (so, of course you cannot have pointer to
>> source , if you didn't stored the source in a first place).
>
>
> So, actually,  we should not have NoTrailer for installed methods either.
>
hard to say..
IIRC, by default a compiler generates the method with no trailer. and
only after method's source is successfully logged
the trailer kind is changed to be a source pointer.
if there's an error happens which prevents method from being logged, i
don't know how, but you still might have a method installed
into class without being logged into .changes file.

Also, if i remember there is places which ZAPs things, clean things,
they also may clear the trailers.


-- 
Best regards,
Igor Stasenko.

Reply via email to