Hi Tim,
I'm trying to integrate your code and I have some doubts (very simple ones, as you will see :).
So far, I integrate your code into CogVM and StackVM by enabling ENABLE_FAST_BLT and adding BitBltGeneric.c, BitBltDispatch.c into the code base. (btw, it compiles, but I really don't know if something is missing and how to measure the enhancement).
Now, I want to extend the code to the iOS vm's (for example, for DrGeo2 would be great), and since iOS is a FreeBSD over an ARM, I do not see why it should not work more or less out of the box :)
And well... my doubt is which files should I include, since there are various there :)
(btw.. since they are not really "cross", shouldn't them be in other(s) platform directories?)
Thanks, Esteban
On Jun 29, 2013, at 3:44 AM, tim Rowledge tim@rowledge.org wrote:
On 26-06-2013, at 9:35 PM, tim Rowledge tim@rowledge.org wrote:
On a related issue, I finally made enough sense of cmake to spot a way to get the relevant define, err, defined, without having to alter the sqPlatformSpecific.h, which is a nice improvement. I'm still inclined to think that some manner must exist to only try to compile the related C files if you want them, rather than relying on the library linking to dump unwanted code.
The pile'o'filesfor this is available for any heroic person to try out on an intel machine; I'd be fascinated to hear if it makes any difference when you already have a huge cache and wide memory bus to cover up mild inefficiencies.
https://www.dropbox.com/s/kq2jlfwxo4c1n1g/BenBLT-unix.zip
A normal ../../cmake/configure should build a perfectly ordinary interpreter vm. ../cmake/configure --enableFastBlt should make the fast blt, and (I hope) should appropriately skip the ARM specific stuff. I'm pretty sure that some extra IF clause in the plugins/BitBltPlugin/config.cmake script would be useful for skipping the BitBltDispatch & BitBltGeneric files when un-needed but damned if I can work out how right now.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: HCF: Halt and Catch Fire