FFI calls: is it possible to allocate a small memory block on
a stack?
Bertram Felgenhauer
bertram.felgenhauer at googlemail.com
Fri Apr 23 05:57:44 EDT 2010
Denys Rtveliashvili wrote:
> OK, the code I have checked out from the repository contains this in
> "rts/sm/Storage.h":
[global pinned_object_block variable]
Odd. This was changed in ghc head by a patch dating Dec 1st 2009:
Tue Dec 1 17:03:21 CET 2009 Simon Marlow <marlowsd at gmail.com>
* Make allocatePinned use local storage, and other refactorings
This is a batch of refactoring to remove some of the GC's global
state, as we move towards CPU-local GC.
...
- allocatePinned() was still allocating from global storage and
taking a lock each time, now it uses local storage.
(mallocForeignPtrBytes should be faster with -threaded).
...
which turned pinned_object_block into a per-capability variable.
So which version of ghc are you looking at?
regards,
Bertram
More information about the Glasgow-haskell-users
mailing list