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 <mdbra...@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 > > >