The Trunk: Kernel-eem.1359.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-eem.1359.mcz

commits-2
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1359.mcz

==================== Summary ====================

Name: Kernel-eem.1359
Author: eem
Time: 30 October 2020, 12:10:07.699375 pm
UUID: 1ec9a445-37fa-4256-84d8-9bdf8b52eb7d
Ancestors: Kernel-eem.1358

Merge Kernel-ct.1358
Author: ct
Time: 28 October 2020, 11:37:24.817544 pm
UUID: c9af6acb-61cf-af42-b5fa-3afa8451bb24
Ancestors: Kernel-mt.1353

Fixes a simulation bug that occurs when executing ProtoObject >> #doesNotUnderstand:. See KernelTests-ct.388.

=============== Diff against Kernel-eem.1358 ===============

Item was changed:
  ----- Method: Context>>send:to:with:lookupIn: (in category 'controlling') -----
  send: selector to: rcvr with: arguments lookupIn: lookupClass
  "Simulate the action of sending a message with selector and arguments to rcvr. The argument, lookupClass, is the class in which to lookup the message. This is the receiver's class for normal messages, but for super messages it will be some specific class related to the source method."
 
  | meth primIndex val ctxt |
  (meth := lookupClass lookupSelector: selector) ifNil:
+ [selector == #doesNotUnderstand: ifTrue:
+ [self error: 'Recursive message not understood!!' translated].
+ ^self send: #doesNotUnderstand:
- [^self send: #doesNotUnderstand:
  to: rcvr
  with: {(Message selector: selector arguments: arguments) lookupClass: lookupClass}
  lookupIn: lookupClass].
 
  meth isCompiledMethod ifFalse:
  ["Object as Methods (OaM) protocol: 'The contract is that, when the VM encounters an ordinary object (rather than a compiled method) in the method dictionary during lookup, it sends it the special selector #run:with:in: providing the original selector, arguments, and receiver.'. DOI: 10.1145/2991041.2991062."
+ ^self send: #run:with:in:
- ^ self send: #run:with:in:
  to: meth
  with: {selector. arguments. rcvr}].
 
  meth numArgs = arguments size ifFalse:
  [^ self error: ('Wrong number of arguments in simulated message {1}' translated format: {selector})].
  (primIndex := meth primitive) > 0 ifTrue:
  [val := self doPrimitive: primIndex method: meth receiver: rcvr args: arguments.
  (self isPrimFailToken: val) ifFalse:
  [^val]].
 
  (selector == #doesNotUnderstand: and: [lookupClass == ProtoObject]) ifTrue:
+ [^self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
- [^ self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
 
  ctxt := Context sender: self receiver: rcvr method: meth arguments: arguments.
+ (primIndex isInteger and: [primIndex > 0]) ifTrue:
- (primIndex notNil and: [primIndex > 0]) ifTrue:
  [ctxt failPrimitiveWith: val].
 
  ^ctxt!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1359.mcz

Christoph Thiede

Thanks for merging! :-) But I believe you copied the versions only, they are still in the inbox ...


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Freitag, 30. Oktober 2020 20:10:10
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Kernel-eem.1359.mcz
 
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1359.mcz

==================== Summary ====================

Name: Kernel-eem.1359
Author: eem
Time: 30 October 2020, 12:10:07.699375 pm
UUID: 1ec9a445-37fa-4256-84d8-9bdf8b52eb7d
Ancestors: Kernel-eem.1358

Merge Kernel-ct.1358
Author: ct
Time: 28 October 2020, 11:37:24.817544 pm
UUID: c9af6acb-61cf-af42-b5fa-3afa8451bb24
Ancestors: Kernel-mt.1353

Fixes a simulation bug that occurs when executing ProtoObject >> #doesNotUnderstand:. See KernelTests-ct.388.

=============== Diff against Kernel-eem.1358 ===============

Item was changed:
  ----- Method: Context>>send:to:with:lookupIn: (in category 'controlling') -----
  send: selector to: rcvr with: arguments lookupIn: lookupClass
         "Simulate the action of sending a message with selector and arguments to rcvr. The argument, lookupClass, is the class in which to lookup the message. This is the receiver's class for normal messages, but for super messages it will be some specific class related to the source method."
 
         | meth primIndex val ctxt |
         (meth := lookupClass lookupSelector: selector) ifNil:
+                [selector == #doesNotUnderstand: ifTrue:
+                        [self error: 'Recursive message not understood!!' translated].
+                ^self send: #doesNotUnderstand:
-                [^self send: #doesNotUnderstand:
                                 to: rcvr
                                 with: {(Message selector: selector arguments: arguments) lookupClass: lookupClass}
                                 lookupIn: lookupClass].
        
         meth isCompiledMethod ifFalse:
                 ["Object as Methods (OaM) protocol: 'The contract is that, when the VM encounters an ordinary object (rather than a compiled method) in the method dictionary during lookup, it sends it the special selector #run:with:in: providing the original selector, arguments, and receiver.'. DOI: 10.1145/2991041.2991062."
+                ^self send: #run:with:in:
-                ^ self send: #run:with:in:
                         to: meth
                         with: {selector. arguments. rcvr}].
        
         meth numArgs = arguments size ifFalse:
                 [^ self error: ('Wrong number of arguments in simulated message {1}' translated format: {selector})].
         (primIndex := meth primitive) > 0 ifTrue:
                 [val := self doPrimitive: primIndex method: meth receiver: rcvr args: arguments.
                 (self isPrimFailToken: val) ifFalse:
                         [^val]].
        
         (selector == #doesNotUnderstand: and: [lookupClass == ProtoObject]) ifTrue:
+                [^self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
-                [^ self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
        
         ctxt := Context sender: self receiver: rcvr method: meth arguments: arguments.
+        (primIndex isInteger and: [primIndex > 0]) ifTrue:
-        (primIndex notNil and: [primIndex > 0]) ifTrue:
                 [ctxt failPrimitiveWith: val].
        
         ^ctxt!




Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1359.mcz

Eliot Miranda-2


On Fri, Oct 30, 2020 at 2:17 PM Thiede, Christoph <[hidden email]> wrote:

Thanks for merging! :-) But I believe you copied the versions only, they are still in the inbox ...


You want these moving to treated inbox?  Or...?  If to treated do you have permissions or do I need to do it?  I don't think they should go to trunk because the history is wrong.  But that's just what I think.  


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Freitag, 30. Oktober 2020 20:10:10
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Kernel-eem.1359.mcz
 
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1359.mcz

==================== Summary ====================

Name: Kernel-eem.1359
Author: eem
Time: 30 October 2020, 12:10:07.699375 pm
UUID: 1ec9a445-37fa-4256-84d8-9bdf8b52eb7d
Ancestors: Kernel-eem.1358

Merge Kernel-ct.1358
Author: ct
Time: 28 October 2020, 11:37:24.817544 pm
UUID: c9af6acb-61cf-af42-b5fa-3afa8451bb24
Ancestors: Kernel-mt.1353

Fixes a simulation bug that occurs when executing ProtoObject >> #doesNotUnderstand:. See KernelTests-ct.388.

=============== Diff against Kernel-eem.1358 ===============

Item was changed:
  ----- Method: Context>>send:to:with:lookupIn: (in category 'controlling') -----
  send: selector to: rcvr with: arguments lookupIn: lookupClass
         "Simulate the action of sending a message with selector and arguments to rcvr. The argument, lookupClass, is the class in which to lookup the message. This is the receiver's class for normal messages, but for super messages it will be some specific class related to the source method."
 
         | meth primIndex val ctxt |
         (meth := lookupClass lookupSelector: selector) ifNil:
+                [selector == #doesNotUnderstand: ifTrue:
+                        [self error: 'Recursive message not understood!!' translated].
+                ^self send: #doesNotUnderstand:
-                [^self send: #doesNotUnderstand:
                                 to: rcvr
                                 with: {(Message selector: selector arguments: arguments) lookupClass: lookupClass}
                                 lookupIn: lookupClass].
        
         meth isCompiledMethod ifFalse:
                 ["Object as Methods (OaM) protocol: 'The contract is that, when the VM encounters an ordinary object (rather than a compiled method) in the method dictionary during lookup, it sends it the special selector #run:with:in: providing the original selector, arguments, and receiver.'. DOI: 10.1145/2991041.2991062."
+                ^self send: #run:with:in:
-                ^ self send: #run:with:in:
                         to: meth
                         with: {selector. arguments. rcvr}].
        
         meth numArgs = arguments size ifFalse:
                 [^ self error: ('Wrong number of arguments in simulated message {1}' translated format: {selector})].
         (primIndex := meth primitive) > 0 ifTrue:
                 [val := self doPrimitive: primIndex method: meth receiver: rcvr args: arguments.
                 (self isPrimFailToken: val) ifFalse:
                         [^val]].
        
         (selector == #doesNotUnderstand: and: [lookupClass == ProtoObject]) ifTrue:
+                [^self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
-                [^ self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
        
         ctxt := Context sender: self receiver: rcvr method: meth arguments: arguments.
+        (primIndex isInteger and: [primIndex > 0]) ifTrue:
-        (primIndex notNil and: [primIndex > 0]) ifTrue:
                 [ctxt failPrimitiveWith: val].
        
         ^ctxt!





--
_,,,^..^,,,_
best, Eliot


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1359.mcz

Christoph Thiede

Not sure about this, but Marcel recently wrote that versions should be moved not copied from the inbox to the trunk, didn't he?


If to treated do you have permissions or do I need to do it?


I think I don't have the permissions? I don't even know how I could do this ...


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von Eliot Miranda <[hidden email]>
Gesendet: Freitag, 30. Oktober 2020 23:24:34
An: The general-purpose Squeak developers list
Cc: [hidden email]
Betreff: Re: [squeak-dev] The Trunk: Kernel-eem.1359.mcz
 


On Fri, Oct 30, 2020 at 2:17 PM Thiede, Christoph <[hidden email]> wrote:

Thanks for merging! :-) But I believe you copied the versions only, they are still in the inbox ...


You want these moving to treated inbox?  Or...?  If to treated do you have permissions or do I need to do it?  I don't think they should go to trunk because the history is wrong.  But that's just what I think.  


Best,

Christoph


Von: Squeak-dev <[hidden email]> im Auftrag von [hidden email] <[hidden email]>
Gesendet: Freitag, 30. Oktober 2020 20:10:10
An: [hidden email]; [hidden email]
Betreff: [squeak-dev] The Trunk: Kernel-eem.1359.mcz
 
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1359.mcz

==================== Summary ====================

Name: Kernel-eem.1359
Author: eem
Time: 30 October 2020, 12:10:07.699375 pm
UUID: 1ec9a445-37fa-4256-84d8-9bdf8b52eb7d
Ancestors: Kernel-eem.1358

Merge Kernel-ct.1358
Author: ct
Time: 28 October 2020, 11:37:24.817544 pm
UUID: c9af6acb-61cf-af42-b5fa-3afa8451bb24
Ancestors: Kernel-mt.1353

Fixes a simulation bug that occurs when executing ProtoObject >> #doesNotUnderstand:. See KernelTests-ct.388.

=============== Diff against Kernel-eem.1358 ===============

Item was changed:
  ----- Method: Context>>send:to:with:lookupIn: (in category 'controlling') -----
  send: selector to: rcvr with: arguments lookupIn: lookupClass
         "Simulate the action of sending a message with selector and arguments to rcvr. The argument, lookupClass, is the class in which to lookup the message. This is the receiver's class for normal messages, but for super messages it will be some specific class related to the source method."
 
         | meth primIndex val ctxt |
         (meth := lookupClass lookupSelector: selector) ifNil:
+                [selector == #doesNotUnderstand: ifTrue:
+                        [self error: 'Recursive message not understood!!' translated].
+                ^self send: #doesNotUnderstand:
-                [^self send: #doesNotUnderstand:
                                 to: rcvr
                                 with: {(Message selector: selector arguments: arguments) lookupClass: lookupClass}
                                 lookupIn: lookupClass].
        
         meth isCompiledMethod ifFalse:
                 ["Object as Methods (OaM) protocol: 'The contract is that, when the VM encounters an ordinary object (rather than a compiled method) in the method dictionary during lookup, it sends it the special selector #run:with:in: providing the original selector, arguments, and receiver.'. DOI: 10.1145/2991041.2991062."
+                ^self send: #run:with:in:
-                ^ self send: #run:with:in:
                         to: meth
                         with: {selector. arguments. rcvr}].
        
         meth numArgs = arguments size ifFalse:
                 [^ self error: ('Wrong number of arguments in simulated message {1}' translated format: {selector})].
         (primIndex := meth primitive) > 0 ifTrue:
                 [val := self doPrimitive: primIndex method: meth receiver: rcvr args: arguments.
                 (self isPrimFailToken: val) ifFalse:
                         [^val]].
        
         (selector == #doesNotUnderstand: and: [lookupClass == ProtoObject]) ifTrue:
+                [^self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
-                [^ self error: ('Simulated message {1} not understood' translated format: {arguments first selector})].
        
         ctxt := Context sender: self receiver: rcvr method: meth arguments: arguments.
+        (primIndex isInteger and: [primIndex > 0]) ifTrue:
-        (primIndex notNil and: [primIndex > 0]) ifTrue:
                 [ctxt failPrimitiveWith: val].
        
         ^ctxt!





--
_,,,^..^,,,_
best, Eliot


Carpe Squeak!