Just to report (I did not have the time to check in 60a) but I got red
square of death with komitter. I also got NECTypedModel>>initializeSelectorsFor: aClass |excludedClasses| selectors reset. excludedClasses := (expanded ifTrue: [#()] ifFalse: [Object withAllSuperclasses]). selectors addAll: ((aClass allSelectorsWithout: excludedClasses) collect: [:each | NECSelectorEntry contents: each type: #selector]) DNU on allSelectorsWithout: with such code mostCommonlyUsedSelectors "self mostCommonlyUsedSelectors" | result | result := Bag new. environment cla ^ cursor here do: [ :each | result addAll: each selectors]. ^ result sortedCounts Stef |
2016-06-04 20:41 GMT+02:00 stepharo <[hidden email]>: Just to report (I did not have the time to check in 60a) but I got red square of death with komitter. Can not reproduce the NEC- bug. What 5.0 image did you use, the release version? In what class did you try to add the method mostCommonlyUsedSelectors? nicolai |
I found at least one problem the NEC: NEC assumes that all global bindings answer a class but that is not true in cases such as Processor and Transcript.
Here’s a fix: NECVarTypeGuesser>>pushLiteralVariable: anAssociation "Push Contents Of anAssociation On Top Of Stack bytecode." | info | contextCount > 0 ifTrue:[^self]. info := NECTypeInfo definedByMessageSend: (anAssociation value isBehavior ifTrue: [ anAssociation value ] ifFalse: [ anAssociation value class ]). types add: info Cheers, Max
|
2016-06-17 16:41 GMT+02:00 Max Leske <[hidden email]>:
Can you give a code example where this would fail / raise an error . We should add a test case for this.
|
I’ve added the example I’m working on to the issue. It’s not directly usable as test case but should give the idea of how to write one.
Cheers, Max
|
Free forum by Nabble | Edit this page |