[remoting] Coop handles for proxy objects (#4208)
authorAleksey Kliger (λgeek) <akliger@gmail.com>
Wed, 11 Jan 2017 15:38:49 +0000 (10:38 -0500)
committerGitHub <noreply@github.com>
Wed, 11 Jan 2017 15:38:49 +0000 (10:38 -0500)
commitbf862b420622b19ec6611646942eff1cee710619
tree2980f00270aa2fa3f87473050e79e01c8fb04c67
parent9197bd0e1c491b887f12bf11d7bf61d1df31d13c
[remoting] Coop handles for proxy objects (#4208)

* [remoting] Use coop handles in several functions

  - icall System.Runtime.Remoting.Proxies.RealProxy.InternalGetTransparentProxy
  - mono_remote_class
  - mono_remote_class_vtable
  - mono_upgrade_remote_class
  - mono_object_handle_get_virtual_method
  - mono_object_handle_isinst
  - mono_object_handle_isinst_mbyref

* [reflection] Use handles in System.RuntimeTypeHandle.IsInstanceOfType

* [runtime] Rewrite mono_object_castclass_mbyref
  in terms of mono_object_handle_isinst_mbyref.

  This is an external API function that isn't used inside the runtime.

* [runtime] Remove mono_object_isinst_mbyref_checked

  It was a runtime internal funciton.

  All of its former callers have been converted to use mono_object_handle_isinst_mbyref.
mono/metadata/class-internals.h
mono/metadata/icall-def.h
mono/metadata/icall.c
mono/metadata/object-internals.h
mono/metadata/object.c
mono/metadata/remoting.c