[Pharo-project] [NativeBoost] 1.4 Bleeeding edge release
Hi, i was in a mood of making some overhauls.. so as result i refurbished a type system a bit.. removed all bogus C-like class names , e.g. NBUnsignedIntType ... and replaced them with nice and uniform names, like NBUInt32, NBInt16 etc. (thanks Marten Feldtmann for an idea) A uniform type aliases for these types also added: int8 NBInt8 uint8 NBUInt8 int16 NBInt16 uint16 NBUInt16 int32 NBInt32 uint32 NBUInt32 int64 NBInt64 uint64 NBUInt64 the rest of C integer types are actually aliases of the above. And some new features: - finally spent time for implementing support of 64-bit integer types. (strangely over 2 years nobody needed them ;) - added a bunch of uniform accessors to ByteArray and NBExternalAddress. But please avoid heavily depending on using them right now, before we decide whether they should use uniform indexing, or stay 1-based index for byte arrays, but 0-based indexes for external addresses. And if we decide to have them uniform, should they use 1-based or 0-based indexing. May be force with you. P.S. The configuration is freshly-baked, i didn't even checked if it loads cleanly or not.. so, i don't recommend updating it in image with your precious code :) Special instruction to load NB for Stef: Gofer it squeaksource: 'NativeBoost'; package: 'ConfigurationOfNativeBoost'; load. (ConfigurationOfNativeBoost project version: '1.4' ) load P.P.S. i would really like some help with testing what i did, including writing some more tests to cover type system more broadly (now since type names follow certain naming rule, many different types can be checked without much coding) -- Best regards, Igor Stasenko.
On 9/2/12 6:32 PM, Igor Stasenko wrote:
Hi,
i was in a mood of making some overhauls.. so as result i refurbished a type system a bit.. removed all bogus C-like class names , e.g. NBUnsignedIntType ... [...] P.P.S. i would really like some help with testing what i did, including writing some more tests to cover type system more broadly (now since type names follow certain naming rule, many different types can be checked without much coding)
I'm working up a set of methods (you've seen a few of them) to demo the syntax of how to use the assembler. Perhaps that can be used as part of the testing? Also, I haven't checked , but are the MMX/SMP instruction sets implemented yet? If not, do you have a timeframe for when you might get around to it? My own intuition is that these are where people will get the most benefit from using the assembler anyway. L -- Squeak from the very start (introduction to Squeak and Pharo Smalltalk for the (almost) complete and compleate beginner). https://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all
On 3 September 2012 04:34, Lawson English <lenglish5@cox.net> wrote:
On 9/2/12 6:32 PM, Igor Stasenko wrote:
Hi,
i was in a mood of making some overhauls.. so as result i refurbished a type system a bit.. removed all bogus C-like class names , e.g. NBUnsignedIntType ... [...]
P.P.S. i would really like some help with testing what i did, including writing some more tests to cover type system more broadly (now since type names follow certain naming rule, many different types can be checked without much coding)
I'm working up a set of methods (you've seen a few of them) to demo the syntax of how to use the assembler. Perhaps that can be used as part of the testing?
Of course they can. Anything which tries to do something without using common code paths is welcome.
Also, I haven't checked , but are the MMX/SMP instruction sets implemented yet?
I don't remember. x86 has a lot of instructions. (and poor documentation).
If not, do you have a timeframe for when you might get around to it? My own intuition is that these are where people will get the most benefit from using the assembler anyway.
My current interests lying elsewhere.. but hey, if someone needs them feel free to add support in assembler.. Dont wait for me :) -- Best regards, Igor Stasenko.
Hello Igor, I think, that unifom indexing is a must. The usage/handling of NBExternalAddress must be equal to instances of ByteArray: at least as long as we have synchronous callouts, where a garbage collector is not able to move the byte array around in Smalltalk memory during the callout. Marten
participants (3)
-
Igor Stasenko -
Lawson English -
Marten Feldtmann