Hi! I'm following the steps on the wiki to generate the NativeBoost plugin. First of all I'd like to know if these steps are up to date (there has been some activity since december when they were written). Then, I successfully generated sources but don't know what to do next. Is it possible to generate a CMakeFile, or how do I build everything?
Thanks!
-- Javier Pimás Ciudad de Buenos Aires |
I'm also seeing that NBCoInterpreter and NBCoObjectMemory only have small modifications compared to the non NB ones. Maybe it is possible to merge them directly into cog with an enable/disable flag, so that building NB is the same as building Cog with NB enabled.
On Wed, Mar 16, 2011 at 11:10 PM, Javier Pimás <[hidden email]> wrote: Hi! I'm following the steps on the wiki to generate the NativeBoost plugin. First of all I'd like to know if these steps are up to date (there has been some activity since december when they were written). Then, I successfully generated sources but don't know what to do next. Is it possible to generate a CMakeFile, or how do I build everything? -- Javier Pimás Ciudad de Buenos Aires |
In reply to this post by melkyades
On 17 March 2011 03:10, Javier Pimás <[hidden email]> wrote:
> Hi! I'm following the steps on the wiki to generate the NativeBoost plugin. > First of all I'd like to know if these steps are up to date (there has been > some activity since december when they were written). Then, I successfully > generated sources but don't know what to do next. Is it possible to generate > a CMakeFile, or how do I build everything? Piece of cake... I will create a separate CMakeVMMaker config for it.. so you will do something like: NBCogUnixConfig generateWithSources and then in command line do as usual: cmake . make :) > Thanks! > > -- > Javier Pimás > Ciudad de Buenos Aires > -- Best regards, Igor Stasenko AKA sig. |
Maybe it is too much to ask, but having a NBCogUnixDebugConfig would be pretty useful in this context!
On Wed, Mar 16, 2011 at 11:21 PM, Igor Stasenko <[hidden email]> wrote:
-- Javier Pimás Ciudad de Buenos Aires |
In reply to this post by melkyades
On 17 March 2011 03:20, Javier Pimás <[hidden email]> wrote:
> I'm also seeing that NBCoInterpreter and NBCoObjectMemory only have small > modifications compared to the non NB ones. Maybe it is possible to merge > them directly into cog with an enable/disable flag, so that building NB is > the same as building Cog with NB enabled. > Yes, the changes are very small, but i wanted to keep them separate, so its easy to see them. So if you can't wait, you can just patch the original classes and then generate VM sources using usual command. But don't forget to include NativeBoostPlugin as internal one. If you using CMakeVMMaker, you do it like following: | config | config := CogUnixConfig new. config internalPlugins: (cog internalPlugins copyWith: #NativeBoostPlugin). config generateSourceFiles. config generate. -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by melkyades
On 17 March 2011 03:27, Javier Pimás <[hidden email]> wrote:
> Maybe it is too much to ask, but having a NBCogUnixDebugConfig would be > pretty useful in this context! > Not much.. just creating extra class + adding 1 extra method :) -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Igor Stasenko
Done, now it's dying while running the tests. I'll try to make it work again tomorrow night (only if we finally get to release a new version of SqueakNOS, I promise).
Here is the stack trace in case it's a known problem:
Smalltalk stack dump: 0xbf78b038 M NBFFICallout class(NBNativeCodeGen class)>generateCode:andRetry: 2032660172: a(n) NBFFICallout class 0xbf78b9a8 I NativeBoostLinux32>getGlobalSymbolPointer: 2039879072: a(n) NativeBoostLinux32
0xbf78b9d0 I [] in NBUnixExternalHeapManager>mmapLength:prot:flags:into: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78b9f4 I NBFFICallout>generate: 2041155916: a(n) NBFFICallout 0xbf78ba28 I [] in NBFFICallout class>cdecl:emitCall:options: 2032660172: a(n) NBFFICallout class
0xbf78ba64 I NBFFICallout class(NBNativeCodeGen class)>generateCode:andRetry: 2032660172: a(n) NBFFICallout class 0xbf78ba90 I NBFFICallout class(NBNativeCodeGen class)>handleFailureIn:nativeCode: 2032660172: a(n) NBFFICallout class
0xbf78babc I NBFFICallout class>cdecl:emitCall:options: 2032660172: a(n) NBFFICallout class 0xbf78bae8 I NBUnixExternalHeapManager>mmapLength:prot:flags:into: 2041154832: a(n) NBUnixExternalHeapManager
0xbf78bb20 I NBUnixExternalHeapManager>primAllocatePage: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb50 I NBUnixExternalHeapManager(NBExternalHeapManager)>allocatePage: 2041154832: a(n) NBUnixExternalHeapManager
0xbf78bb74 M [] in NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bb8c M IdentitySet(Collection)>detect:ifNone: 2041154916: a(n) IdentitySet
0xbf78bbc0 I [] in NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bbe0 M [] in Semaphore>critical: 2041154856: a(n) Semaphore 0xbf78bc00 M BlockClosure>ensure: 2041155208: a(n) BlockClosure
0xbf78bc20 M Semaphore>critical: 2041154856: a(n) Semaphore 0xbf78bc44 I NBUnixExternalHeapManager(NBExternalHeapManager)>allocate: 2041154832: a(n) NBUnixExternalHeapManager 0xbf78bc6c I NativeBoostLinux32>basicAllocate: 2039879072: a(n) NativeBoostLinux32
0xbf78bc94 I NativeBoostLinux32(NativeBoost)>allocate: 2039879072: a(n) NativeBoostLinux32 0xbf78bcb8 I NativeBoostLinux32(NativeBoost)>initialize 2039879072: a(n) NativeBoostLinux32 0xbf78bcd0 M NativeBoostLinux32 class(Behavior)>new 2032913612: a(n) NativeBoostLinux32 class
0xbf78bcf4 I [] in NativeBoost class>discoverPlatformId 2032664204: a(n) NativeBoost class 0xbf78bd1c I [] in NativeBoost class(Behavior)>allSubclassesDo: 2032664204: a(n) NativeBoost class
0xbf78bd40 M Array(SequenceableCollection)>do: 2032915888: a(n) Array 0xbf78bd64 I NativeBoost class(Class)>subclassesDo: 2032664204: a(n) NativeBoost class 0xbf78bd88 I NativeBoost class(Behavior)>allSubclassesDo: 2032664204: a(n) NativeBoost class
0xbf78bdb0 I NativeBoost class>discoverPlatformId 2032664204: a(n) NativeBoost class 0xbf78bdd0 I NativeBoost class>forCurrentPlatform 2032664204: a(n) NativeBoost class 0xbf78bdf0 I NativeBoost class>allocate: 2032664204: a(n) NativeBoost class
0xbf78be10 M NBExternalAddressTests>testMemoryAccess 2039875280: a(n) NBExternalAddressTests 0xbf78be30 I NBExternalAddressTests(TestCase)>performTest 2039875280: a(n) NBExternalAddressTests
0xbf78be50 I [] in NBExternalAddressTests(TestCase)>runCase 2039875280: a(n) NBExternalAddressTests 0xbf78be70 M BlockClosure>ensure: 2039878812: a(n) BlockClosure 0xbf78be94 I NBExternalAddressTests(TestCase)>runCase 2039875280: a(n) NBExternalAddressTests
On Wed, Mar 16, 2011 at 11:27 PM, Igor Stasenko <[hidden email]> wrote:
-- Javier Pimás Ciudad de Buenos Aires |
Free forum by Nabble | Edit this page |