[Mono-dev] [PATCH] Updated managed Marshal.Copy implemantations

Kornél Pál kornelpal at gmail.com
Thu Dec 20 05:59:25 EST 2007


Hi,

I have reworked the patch:
- added Array.GetElementSize
- added Array.GetOffsetToArrayData
- rename Object.obj_address to Object.UnsafeAddrOfPinnedObject that is 
static and I think is a more descriptive name for an internal method.

All of them are inlined by JID.

Modified Marshal.copy_to_unmanaged and Marshal.copy_from_unmanaged to be 
fully managed.

They are intended to be used from Marshal.Copy so I see no reason for rank 
check.

Also implemented Marshal.UnsafeAddrOfPinnedArrayElement fully in managed 
code.

I assume that object on the stack are pinned so I hope GC won't move or free 
the objects.

Please review this patch. If it's approved I'll implement Buffer class 
methods using managed code as well.

Kornél 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: managed_copy.diff
Type: application/octet-stream
Size: 15207 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20071220/61b51dc0/attachment.obj 


More information about the Mono-devel-list mailing list