[coop handles] Add handles for interior pointers / valuetype handles
authorAleksey Kliger <aleksey@xamarin.com>
Mon, 23 Jan 2017 23:23:14 +0000 (18:23 -0500)
committerAleksey Kliger (λgeek) <akliger@gmail.com>
Mon, 6 Mar 2017 18:00:27 +0000 (13:00 -0500)
commitfbdf874ee50cbed4829b57f1aec6f4a4176c12b6
tree5e93c899609dd483c6fc7472611854d12798a035
parentd1be740678b8f7a411518f7489e74178ac0a726a
[coop handles] Add handles for interior pointers / valuetype handles

- Call mono_handle_stack_scan for both the precise and the imprecise gc scans.
- For now assert during scan that all handles are to the beginning of an
  object.
- Add TYPED_VALUE_HANDLE_DECL Macro to declare valuetype handles:
     TYPED_VALUE_HANDLE_DECL (MonoMethodInfo);
     /* Declare MonoMethodInfoValueHandle and MonoMethodInfoValueHandleOut */
- Add MONO_HANDLE_NEW_GET_VALPTR (h, type, field) macro to create a new handle that
  points to "field" (of type "type") in the object "h".
mono/metadata/handle.c
mono/metadata/handle.h
mono/metadata/object-offsets.h
mono/metadata/sgen-mono.c