help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does GNU Smalltalk build primitive selectors?


From: Paolo Bonzini
Subject: Re: How does GNU Smalltalk build primitive selectors?
Date: Sat, 20 Feb 2021 22:54:30 +0100

Hi, some primitives are special cased and implemented directly in the byte
code interpreter. You can find the implementation in vm.def.

The primitives in prims.def will still be used with #perform:, for example
"2 perform: #* with: 3" will invoke the VMpr_SmallInteger_times primitive
in accord with the source code of the * method of SmallInteger.

Paolo

Il sab 20 feb 2021, 00:42 Mark Bratcher <mdbratch@gmail.com> ha scritto:

> Hello
>
>
>
> I started chasing down the issue with the display (`printOn`) for floats
> which led me to a few different issues. One in particular leads to a
> potential issue with the SmallInteger >> * operator primitive. However, I’m
> having trouble understanding how this is actually implemented and built, or
> how GNU Smalltalk in general handles primitives.
>
>
>
> The SmallInteger >> * selector in kernel/SmallInt.st seems to get
> bypassed. I found VMpr_SmallInteger_times in libgst/prims.inl, but this
> doesn’t seem to get called, either (at least not as evidenced by trying to
> trace execution).
>
>
>
> So I’m looking for a little guidance on the structure of this part of the
> code structure.
>
>
>
> Thank you!
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]