[Pharo-project] [squeak-dev] CompiledMethod>>#hash broken on CogVM r2559, Win7, Squeak 4.3

Mariano Martinez Peck marianopeck at gmail.com
Mon Jul 23 15:43:54 EDT 2012


On Mon, Jul 23, 2012 at 8:38 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

>
>
> On Mon, Jul 23, 2012 at 11:34 AM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>>
>>
>> On Mon, Jul 23, 2012 at 8:08 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>>
>>> Hi Marcel,
>>>
>>>     that's because the old hash method is broken.  The Cog VM finally
>>> adds a correct bounds check that prevents byte access to the non-byte parts
>>> (literals) of a CompiledMethod.  Accessing the literals of a method via
>>> byte access gives access to the addresses of objects.  This is broken since
>>> the GC is a moving garbage collector and so addresses can change.  Hence a
>>> hash derived from such bytes is not stable.  See Kernel-eem.692 which
>>> provides the attached hash method.
>>>
>>>
>> Hi Eliot. I remember seeing this discussion in the Pharo mailing list
>> also. So...I guess we should commit that also in Pharo, right?
>>
>
> Yes.  Also the bug fixes in Kernel-eem.700 & Kernel-eem.703.
>
>

Regarding Kernel-eem.700, I don't really understand much the code, so I
will trust you. Now, regarding Kernel-eem.703 it seems it was already fixed
in Pharo. You added the

CompiledMethod >> postCopy
| penultimateLiteral |
(penultimateLiteral := self penultimateLiteral) isMethodProperties ifTrue:
[self penultimateLiteral: (penultimateLiteral copy
setMethod: self;
yourself).
 self pragmas do:
[:p| p setMethod: self]]

But we already have:

CompiledMethod >> postCopy

1 to: self literals size do: [:index |
| literal |
literal := self literalAt: index.

literal class == AdditionalMethodState ifTrue: [
literal := literal copy.
self literalAt: index put: literal.
self fixAdditionalMethodStateMethodReference: literal]].
So....I don't really understand why we iterate over all literals if we just
fix the pragmas...so I think your part of the "(penultimateLiteral := self
penultimateLiteral) isMethodProperties ifTrue:"  is better.

Now, you only do #setMethod for the pragma, but our code:

fixAdditionalMethodStateMethodReference: anAdditionalMethodState

anAdditionalMethodState method: self.
anAdditionalMethodState pragmas do: [:each | each instVarAt: 1 put: self].


And again, I don't know why we se instVarAt: 1 put:   rather than
#setMethod:

So, all in all, I think your code looks better. Am I missing something?

Thanks!



>>
>>>
>>> On Sun, Jul 22, 2012 at 7:10 AM, Marcel Taeumel <
>>> marcel.taeumel at student.hpi.uni-potsdam.de> wrote:
>>>
>>>> Hi!
>>>>
>>>> It is not possible to compute the hash value of a CompiledMethod
>>>> instance
>>>> with the CogVM r2559 on a Windows 7 machine using a Squeak 4.3 image.
>>>>
>>>> Should it be possible despite of all enhancements in the Cog VM?
>>>>
>>>> Best,
>>>> Marcel
>>>>
>>>> 22 July 2012 4:06:54.988 pm
>>>>
>>>> VM: Win32 - Smalltalk
>>>> Image: Squeak4.3 [latest update: #11860]
>>>>
>>>> SecurityManager state:
>>>> Restricted: false
>>>> FileAccess: true
>>>> SocketAccess: true
>>>> Working Dir C:\Tools\vivide_dev
>>>> Trusted Dir C:\Tools\vivide_dev\Marcel
>>>> Untrusted Dir C:\Users\Marcel\Documents\My Squeak
>>>>
>>>> CompiledMethod(Object)>>error:
>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>         Arguments and temporary variables:
>>>>                 aString:        'subscript is out of bounds: 1'
>>>>         Receiver's instance variables:
>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>
>>>> CompiledMethod(Object)>>errorSubscriptBounds:
>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>         Arguments and temporary variables:
>>>>                 index:  1
>>>>         Receiver's instance variables:
>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>
>>>> CompiledMethod(Object)>>basicAt:
>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>         Arguments and temporary variables:
>>>>                 index:  1
>>>>         Receiver's instance variables:
>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>
>>>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>>>>         Receiver: CompiledMethod
>>>>         Arguments and temporary variables:
>>>>                 aByteArray:     (Morph>>#drawOn: "a
>>>> CompiledMethod(337)")
>>>>                 speciesHash:    244619647
>>>>                 byteArraySize:  43
>>>>                 hash:   244619647
>>>>                 low:    nil
>>>>                 pos:    1
>>>>         Receiver's instance variables:
>>>>                 superclass:     ByteArray
>>>>                 methodDict:     a MethodDictionary(size 190)
>>>>                 format:         3586
>>>>                 instanceVariables:      nil
>>>>                 organization:   ('accessing' clearFlag defaultSelector
>>>> dragLabel endPC flag
>>>> flush...etc...
>>>>                 subclasses:     nil
>>>>                 name:   #CompiledMethod
>>>>                 classPool:      a Dictionary(#LargeFrame->56
>>>> #SmallFrame->16 )
>>>>                 sharedPools:    nil
>>>>                 environment:    Smalltalk globals "a SystemDictionary
>>>> with lots of globals"
>>>>                 category:       #'Kernel-Methods'
>>>>
>>>> CompiledMethod(ByteArray)>>hash
>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>         Arguments and temporary variables:
>>>>
>>>>         Receiver's instance variables:
>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>
>>>> UndefinedObject>>DoIt
>>>>         Receiver: nil
>>>>         Arguments and temporary variables:
>>>>
>>>>         Receiver's instance variables:
>>>> nil
>>>>
>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>         Receiver: a Compiler
>>>>         Arguments and temporary variables:
>>>>                 textOrStream:   a ReadWriteStream '(Morph>>#drawOn:)
>>>> hash'
>>>>                 aContext:       nil
>>>>                 receiver:       nil
>>>>                 aRequestor:     a SmalltalkEditor
>>>>                 failBlock:      [closure] in [] in
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAnd...etc...
>>>>                 logFlag:        true
>>>>                 methodNode:     DoIt
>>>>         ^ (Morph >> #drawOn:) hash
>>>>                 method:         (UndefinedObject>>#DoIt "a
>>>> CompiledMethod(1506)")
>>>>                 value:  nil
>>>>                 toLog:  nil
>>>>                 itsSelection:   nil
>>>>                 itsSelectionString:     nil
>>>>         Receiver's instance variables:
>>>>                 sourceStream:   a ReadWriteStream '(Morph>>#drawOn:)
>>>> hash'
>>>>                 requestor:      a SmalltalkEditor
>>>>                 class:  UndefinedObject
>>>>                 category:       nil
>>>>                 context:        nil
>>>>                 parser:         a Parser
>>>>
>>>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>> <<error during printing>
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> BlockClosure>>on:do:
>>>>         Receiver: [closure] in
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>         Arguments and temporary variables:
>>>>                 exception:      OutOfScopeNotification
>>>>                 handlerAction:  [closure] in
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo...etc...
>>>>                 handlerActive:  true
>>>>         Receiver's instance variables:
>>>>                 outerContext:
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>                 startpc:        97
>>>>                 numArgs:        0
>>>>
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>                 aBlock:         [closure] in
>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>>                 result:         nil
>>>>                 rcvr:   nil
>>>>                 ctxt:   nil
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> SmalltalkEditor(TextEditor)>>doIt
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> SmalltalkEditor(TextEditor)>>doIt:
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>                 aKeyboardEvent:         [keystroke '<Cmd-d>']
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>                 aKeyboardEvent:         [keystroke '<Cmd-d>']
>>>>                 honorCommandKeys:       true
>>>>                 openers:        nil
>>>>                 closers:        nil
>>>>                 result:         nil
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> SmalltalkEditor(TextEditor)>>keyStroke:
>>>>         Receiver: a SmalltalkEditor
>>>>         Arguments and temporary variables:
>>>>                 anEvent:        [keystroke '<Cmd-d>']
>>>>         Receiver's instance variables:
>>>>                 morph:  a TextMorphForEditView(2114)
>>>>                 selectionShowing:       false
>>>>                 model:  a Workspace
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>> character $( and rectangle
>>>> 0 at 0 cor...etc...
>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>> rectangle 154 at 0 corner:
>>>> 154 at 17
>>>>  ...etc...
>>>>                 beginTypeInIndex:       nil
>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>                 lastParenLocation:      nil
>>>>                 otherInterval:  (1 to: 22)
>>>>                 oldInterval:    (1 to: 22)
>>>>                 typeAhead:      a WriteStream ''
>>>>                 styler:         nil
>>>>
>>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>         Receiver: a TextMorphForEditView(2114)
>>>>         Arguments and temporary variables:
>>>> <<error during printing>
>>>>         Receiver's instance variables:
>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>                 owner:  a TransformMorph(1978)
>>>>                 submorphs:      #()
>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>                 color:  Color black
>>>>                 extension:      a MorphExtension (2184) [other:
>>>>  (signalConnections -> a
>>>> Dictionary(...etc...
>>>>                 borderWidth:    0
>>>>                 borderColor:    Color black
>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>> regular
>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>                 wrapFlag:       true
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 editor:         a SmalltalkEditor
>>>>                 container:      nil
>>>>                 predecessor:    nil
>>>>                 successor:      nil
>>>>                 backgroundColor:        nil
>>>>                 margins:        nil
>>>>                 editHistory:    nil
>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>                 acceptOnCR:     false
>>>>
>>>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>>>>         Receiver: a TextMorphForEditView(2114)
>>>>         Arguments and temporary variables:
>>>>                 interactionBlock:       [closure] in [] in
>>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>                 oldEditor:      a SmalltalkEditor
>>>>                 oldParagraph:   a MultiNewParagraph
>>>>                 oldText:        a Text for '(Morph>>#drawOn:) hash'
>>>>         Receiver's instance variables:
>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>                 owner:  a TransformMorph(1978)
>>>>                 submorphs:      #()
>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>                 color:  Color black
>>>>                 extension:      a MorphExtension (2184) [other:
>>>>  (signalConnections -> a
>>>> Dictionary(...etc...
>>>>                 borderWidth:    0
>>>>                 borderColor:    Color black
>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>> regular
>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>                 wrapFlag:       true
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 editor:         a SmalltalkEditor
>>>>                 container:      nil
>>>>                 predecessor:    nil
>>>>                 successor:      nil
>>>>                 backgroundColor:        nil
>>>>                 margins:        nil
>>>>                 editHistory:    nil
>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>                 acceptOnCR:     false
>>>>
>>>> TextMorphForEditView>>handleInteraction:fromEvent:
>>>>         Receiver: a TextMorphForEditView(2114)
>>>>         Arguments and temporary variables:
>>>>                 interActionBlock:       [closure] in [] in
>>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>         Receiver's instance variables:
>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>                 owner:  a TransformMorph(1978)
>>>>                 submorphs:      #()
>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>                 color:  Color black
>>>>                 extension:      a MorphExtension (2184) [other:
>>>>  (signalConnections -> a
>>>> Dictionary(...etc...
>>>>                 borderWidth:    0
>>>>                 borderColor:    Color black
>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>> regular
>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>                 wrapFlag:       true
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 editor:         a SmalltalkEditor
>>>>                 container:      nil
>>>>                 predecessor:    nil
>>>>                 successor:      nil
>>>>                 backgroundColor:        nil
>>>>                 margins:        nil
>>>>                 editHistory:    nil
>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>                 acceptOnCR:     false
>>>>
>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>         Receiver: a TextMorphForEditView(2114)
>>>>         Arguments and temporary variables:
>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>                 action:         nil
>>>>         Receiver's instance variables:
>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>                 owner:  a TransformMorph(1978)
>>>>                 submorphs:      #()
>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>                 color:  Color black
>>>>                 extension:      a MorphExtension (2184) [other:
>>>>  (signalConnections -> a
>>>> Dictionary(...etc...
>>>>                 borderWidth:    0
>>>>                 borderColor:    Color black
>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>> regular
>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>                 wrapFlag:       true
>>>>                 paragraph:      a MultiNewParagraph
>>>>                 editor:         a SmalltalkEditor
>>>>                 container:      nil
>>>>                 predecessor:    nil
>>>>                 successor:      nil
>>>>                 backgroundColor:        nil
>>>>                 margins:        nil
>>>>                 editHistory:    nil
>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>                 acceptOnCR:     false
>>>>
>>>>
>>>> --- The full stack ---
>>>> CompiledMethod(Object)>>error:
>>>> CompiledMethod(Object)>>errorSubscriptBounds:
>>>> CompiledMethod(Object)>>basicAt:
>>>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>>>> CompiledMethod(ByteArray)>>hash
>>>> UndefinedObject>>DoIt
>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>> BlockClosure>>on:do:
>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>> SmalltalkEditor(TextEditor)>>doIt
>>>> SmalltalkEditor(TextEditor)>>doIt:
>>>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>>>> SmalltalkEditor(TextEditor)>>keyStroke:
>>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>>>> TextMorphForEditView>>handleInteraction:fromEvent:
>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>> TextMorphForEditView>>keyStroke:
>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>> KeyboardEvent>>sentTo:
>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>> BlockClosure>>on:do:
>>>> PasteUpMorph>>becomeActiveDuring:
>>>> HandMorph>>sendFocusEvent:to:clear:
>>>> HandMorph>>sendEvent:focus:clear:
>>>> HandMorph>>sendKeyboardEvent:
>>>> HandMorph>>handleEvent:
>>>> HandMorph>>processEvents
>>>> [] in WorldState>>doOneCycleNowFor:
>>>> Array(SequenceableCollection)>>do:
>>>> WorldState>>handsDo:
>>>> WorldState>>doOneCycleNowFor:
>>>> WorldState>>doOneCycleFor:
>>>> PasteUpMorph>>doOneCycle
>>>> [] in Project class>>spawnNewProcess
>>>> [] in BlockClosure>>newProcess
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://forum.world.st/CompiledMethod-hash-broken-on-CogVM-r2559-Win7-Squeak-4-3-tp4641061.html
>>>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> best,
> Eliot
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120723/a5f74c16/attachment-0001.html>


More information about the Pharo-dev mailing list