Fix Exception Propagation issue for NetCoreForCoreCLR Non-AppX case
authorLuqun Lou <luqunl@microsoft.com>
Wed, 10 Jun 2015 22:53:48 +0000 (15:53 -0700)
committerLuqun Lou <luqunl@microsoft.com>
Wed, 10 Jun 2015 22:53:48 +0000 (15:53 -0700)
commit2454c1323d82520bc87f9e356faaaeaa44909667
treeee1e8cf469e4d62d6179c56e8ccffbfc9da9eedc
parentb23b65a8b12a78d5869510e580811ccf1c2edd23
Fix Exception Propagation issue for NetCoreForCoreCLR Non-AppX case

Currently in CoreCLR, We don't propagate managed exception from Managed->Native->Managed correctly for non-appx case--- if you throw a managed exception, then during M->N, the managed exception is stored in thread, later during N->M, we will try to fetch this stored exception if it is managed exception by checking IsManagedObject()

The logical for IsManagedObject should be just check its IUnknown slots first no matter whether it is appx or not; If doesn't match, try to QI IManagedObject.

[tfs-changeset: 1486094]
src/vm/interoputil.cpp