Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003612 [Squeak] Compiler minor always 05-12-06 18:11 05-12-14 23:15
Reporter kwl View Status public  
Assigned To nicolas cellier
Priority normal Resolution fixed  
Status resolved   Product Version 3.9
Summary 0003612: MethodProperties are nil when creating CompiledMethod with the toReturnXYZ methods
Description The toReturnXYZ methods on the class side leave MethodProperties uninitialized and so Behavior>>#basicAddSelector:withMethod: fails when it does compiledMethod #selector:.

Looks like MethodProperties would like to be a bit closer to CompiledMethod.
Additional Information MessageNotUnderstood: UndefinedObject>>selector:
12 May 2006 6:08:28 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.9alpha [latest update: 0007028]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir ...etc...
Trusted Dir ...etc...
Untrusted Dir ...etc...

UndefinedObject(Object)>>doesNotUnderstand: #selector:
    Receiver: nil
    Arguments and temporary variables:
        aMessage: selector: #x
    Receiver's instance variables:
nil

CompiledMethod>>selector:
    Receiver: a CompiledMethod (1207)
    Arguments and temporary variables:
        aSymbol: #x
    Receiver's instance variables:
a CompiledMethod (1207)

ImmutableSlots(Behavior)>>basicAddSelector:withMethod:
    Receiver: a descendent of MutableSlots
    Arguments and temporary variables:
        selector: #x
        compiledMethod: a CompiledMethod (1207)
        oldMethodOrNil: nil
    Receiver's instance variables:
        superclass: MutableSlots
        methodDict: a MethodDictionary(#x->a CompiledMethod (1207) )
        format: 132
        traitComposition: nil
        localSelectors: nil

ImmutableSlots(Behavior)>>basicAddSelector:withMethod:
    Receiver: a descendent of MutableSlots
    Arguments and temporary variables:
        selector: #x
        compiledMethod: a CompiledMethod (1207)
        oldMethodOrNil: nil
    Receiver's instance variables:
        superclass: MutableSlots
        methodDict: a MethodDictionary(#x->a CompiledMethod (1207) )
        format: 132
        traitComposition: nil
        localSelectors: nil
...etc...
Attached Files  CompiledMethodTest-toReturnXyz-kwl-M3612.st [^] (846 bytes) 12-18-08 17:46

- Relationships

- Notes
(0012870 - 123 - 135 - 135 - 135 - 135 - 135)
kwl
12-18-08 17:50

uploaded a test which reproduces the problem.

this test should go green once CompiledMethod or Behavior have been fixed.
 
(0014501 - 464 - 593 - 593 - 593 - 593 - 593)
nicolas cellier
05-12-14 23:15

The test have rotten a bit, the trailer should now be CompiledmethodTrailer empty rather than #(0 0 0 0).

Also, the first assertion does not make sense:

    self
        shouldnt: [aBehavior basicAddSelector: #m0 withMethod: CompiledMethod toReturnSelf].

Maybe the intention was shouldnt: [...] raise: MessageNotUnderstood ?

After fixing those two slips, the test pass, so I consider the issue as resolved.
I ignore in which version exactly but won't dissect.
 

- Issue History
Date Modified Username Field Change
05-12-06 18:11 kwl New Issue
12-18-08 17:46 kwl File Added: CompiledMethodTest-toReturnXyz-kwl-M3612.st
12-18-08 17:50 kwl Note Added: 0012870
12-18-08 17:50 kwl Status new => confirmed
05-12-14 23:15 nicolas cellier Status confirmed => resolved
05-12-14 23:15 nicolas cellier Fixed in Version  => trunk
05-12-14 23:15 nicolas cellier Resolution open => fixed
05-12-14 23:15 nicolas cellier Assigned To  => nicolas cellier
05-12-14 23:15 nicolas cellier Note Added: 0014501


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
44 total queries executed.
34 unique queries executed.
Powered by Mantis Bugtracker