On Sun, 8 Jan 2012, Mariano Martinez Peck wrote:


Of course, but I'd check for the class equality first, because it's faster
(yeah, i know you turned off inlining of #class, but Cog doesn't care about
that ;)).


Are you sure Cog doesn't care? I think it does. From what I can see in Cog
code the entry point to inline #class is from the bytecoodes. If you see
initializeBytecodeTableForClosureV3
...
#(1 199 199 genSpecialSelectorClass needsFrameNever: notMapped 0). "not
mapped because it is directly inlined (for now)"
...

so if you use a the normal bytecode for #class then I think #class is not
inlined in machine code. At least from my tests I noticed that.

I guess you're right.


Levente


Cheers



Another thing that you should add (besides tests of course) is
SmallInteger >> #pointsTo: which should return false. Also make sure that
pointer tracing tools use #pointsTo:. In Squeak I found that some of them
"reinvented" this method...


Levente



cheers

--
Mariano
http://marianopeck.wordpress.**com <http://marianopeck.wordpress.com>




--
Mariano
http://marianopeck.wordpress.com


Reply via email to