THanks Eliot for the explanation. So....The compiler checks and for these kind of special quick methods it creates a CompiledMethod that has in its header, a primitive value ?
So...if I would be able to put a "self halt" (but I cannot do it becaue otherwise it won't be quick anymore) in Number>>isNumber, the debugger would never stop there? Interesting! Thanks Oscar for the question, it make me learn. Mariano 2010/10/22 Eliot Miranda <[email protected]> > Hi Oscar, > > see Object class>>whatIsAPrimitive. Further, most of the primitive > methods you're seeing are methods that answer self, nil, true false or an > inst var. See the difference between these: > > SystemNavigation new browseAllSelect: [:m| m isQuick] > > SystemNavigation new browseAllSelect: [:m| m primitive > 0 and: [m isQuick > not]] > > SystemNavigation new browseAllSelect: [:m| m primitive > 0 and: [m isQuick > not and: [(#(117 120) includes: m primitive) not]]] > > HTH > Eliot > > > On Thu, Oct 21, 2010 at 9:18 AM, Oscar E A Callau > <[email protected]>wrote: > >> >> Hi all, >> >> I have a (basic) question: >> >> What is a primitive method? >> >> In pharo 1.1.1, we have CompiledMethod>>primitive that basically return: >> >> 0 if the method is not a primitive method >> >0 otherwise >> >> But if you execute this on i.e. Number>>isNumber or Morph>>#model compiled >> methods you get that these two are primitive methods. Are they primitive >> methods? >> >> Other (related) question is: When I executed the expression: >> >> SystemNavigation default allPrimitiveMethods >> >> , I get a OrderedCollection with 5581 elements. Are all those methods, >> primitive methods? >> >> >> Thanks in advance >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
