[Vm-dev] Eliminating cCode:inSmalltalk:'s

Eliot Miranda eliot.miranda at gmail.com
Tue Oct 30 12:22:30 UTC 2018


Hi Ben,

> On Oct 30, 2018, at 4:57 AM, Ben Coman <btc at openinworld.com> wrote:
> 
> I'm sure this was explained somewhere before (even recently), 
> but I forget, and can't find anything in my usual search places.
> 
>> On Tue, 30 Oct 2018 at 09:02, <commits at source.squeak.org> wrote:
>>  
>> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
>> http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2479.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: VMMaker.oscog-eem.2479
>> Author: eem
>> Time: 29 October 2018, 6:00:57.748695 pm
>> UUID: b191888c-6777-483b-82b4-121103743ebf
>> Ancestors: VMMaker.oscog-eem.2478
>> 
>> Plugins:
>> Fix slip in primitiveDirectoryDelimitor.
>> Eliminate cCode:inSmalltalk:'s from the B3DAcceleratorPlugin
>> 
>> =============== Diff against VMMaker.oscog-eem.2478 ===============
>> <snip>
>> Item was changed:
>>   ----- Method: B3DAcceleratorPlugin>>primitiveAllocateTexture (in category 'primitives-textures') -----
>>   primitiveAllocateTexture
>>         | h w d result renderer |
>>         <export: true>
>>         interpreterProxy methodArgumentCount = 4
>>                 ifFalse:[^interpreterProxy primitiveFail].
>>         h := interpreterProxy stackIntegerValue: 0.
>>         w := interpreterProxy stackIntegerValue: 1.
>>         d := interpreterProxy stackIntegerValue: 2.
>>         renderer := interpreterProxy stackIntegerValue: 3.
>>         interpreterProxy failed ifTrue:[^nil].
>> +       result := self b3dxAllocateTexture: renderer _: w _: h _: d.
>> -       result := self cCode:'b3dxAllocateTexture(renderer, w, h, d)' inSmalltalk:[-1].
>>         result = -1 ifTrue:[^interpreterProxy primitiveFail].
>>         interpreterProxy pop: 5. "args+rcvr"
>>         ^interpreterProxy pushInteger: result.!
> 
> 
> What is the mechanism that allows cCode:inSmalltalk:'s to be replaced like above?
> I half expected  "b3dxAllocateTexture:_:_:_:"
> to be newly defined somewhere else in that commit.

Those implementations can come later.  Right now the plugin doesn’t simulate anyway.  You’re right I could have written them then and there, but I would rather do real o es than simple failing stubs.  If I find that I can’t simulate without stubs I’ll add them.  Feel free to provide them if you’re motivated.  I should have just fixed the digitCompare: issue but got carried away...

> cheers -ben 

_,,,^..^,,,_ (phone)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20181030/f575f7c7/attachment.html>


More information about the Vm-dev mailing list