Hello Simon and Ian,

Perhaps either of you may be able to answer this question easily:

I am testing the replacement Integer library in Haskell and I wanted to copy arrays between the two--I can't do all of that in Haskell because the RTS allocation has a maximum alignment of 4 when I need 16 (sometimes--I might also realign things, as a last resort). In any case, the easy way to do it would be to grab the ByteArray# from the Integer (J# Int# ByteArray#), grab the Addr# with the primitive byteArrayContents#, turn that into a pointer and pass it to the foreign function. That would be a sketchy move--even for testing-- because Integer ByteArrays are local (not pinned). Do you think doing a performGC just before grabbing the Addr# would help? There doesn't seem to be another primitive for marshalling a pointer from a ByteArray.

Cheers,
Peter Tanski
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to