On Fri, May 6, 2011 at 12:47 PM, Igor Stasenko siguctua@gmail.com wrote:
On 6 May 2011 20:04, Eliot Miranda eliot.miranda@gmail.com wrote:
and your point would be?
it needs to be fixed.
No. It does /not/ need to be fixed. As I said earlier it is *absurd* to throw away performance for the ability to change certain classes to become uncompact.
Because if we can't do:
Smalltalk compactClassesArray do: [:each | each ifNotNil: [each becomeUncompact]].
then we cant:
VM getRidOfCompactClassesNotion
:)
That will be done by producing a new GC and a new image format, not by tinkering with compact classes in the current GC. Right?
On Fri, May 6, 2011 at 9:38 AM, Igor Stasenko siguctua@gmail.com
wrote:
Hi, i tried to do a simple:
Smalltalk compactClassesArray do: [:each | each ifNotNil: [each becomeUncompact]]
and it crashing the image. I tried to do this for individual classes.
CompiledMethod, ByteString, BlockClosure, BlockContext , seems working ok.
MethodContext, LargePositiveInteger, LargeNegativeInteger, Float crashes the image.
i also tried following:
[Smalltalk compactClassesArray do: [:each | each ifNotNil: [each becomeUncompact]] ] forkAt: Processor highestPriority
but it didn't helped much.
Also, i saved image after couple successfull #becomeUncompact steps.. and now VM cannot open image, most probably because it fails on 'assumptions check' defined in
#checkAssumedCompactClasses
-- Best regards, Igor Stasenko AKA sig.
-- Best regards, Igor Stasenko AKA sig.