summaryrefslogtreecommitdiff
path: root/src/vm/clsload.cpp
diff options
context:
space:
mode:
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>2019-08-19 23:03:36 +0300
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>2019-08-21 15:56:20 +0300
commit639f67ccc9fbee9968f107cab897d1f4f1e3e509 (patch)
treee03bfb1d1a234d8e0aa5bfdc9ea51b48ce2084f2 /src/vm/clsload.cpp
parent4520b709b6150a751326bd8860491b84467c88ff (diff)
downloadcoreclr-sandbox/ches01/integrate-libasansi_debug_v2.tar.gz
coreclr-sandbox/ches01/integrate-libasansi_debug_v2.tar.bz2
coreclr-sandbox/ches01/integrate-libasansi_debug_v2.zip
Change-Id: Idc66ededc8e329737ed28b42e0f900be563166d0 Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Diffstat (limited to 'src/vm/clsload.cpp')
-rw-r--r--src/vm/clsload.cpp39
1 files changed, 34 insertions, 5 deletions
diff --git a/src/vm/clsload.cpp b/src/vm/clsload.cpp
index ff4d0a0724..9eccd5ec21 100644
--- a/src/vm/clsload.cpp
+++ b/src/vm/clsload.cpp
@@ -438,34 +438,63 @@ TypeHandle ClassLoader::LoadTypeByNameThrowing(Assembly *pAssembly,
ClassLoader::LoadTypesFlag fLoadTypes,
ClassLoadLevel level)
{
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing B\n");
CONTRACT(TypeHandle)
{
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
if (FORBIDGC_LOADER_USE_ENABLED()) NOTHROW; else THROWS;
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
if (FORBIDGC_LOADER_USE_ENABLED()) GC_NOTRIGGER; else GC_TRIGGERS;
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
if (FORBIDGC_LOADER_USE_ENABLED()) FORBID_FAULT; else { INJECT_FAULT(COMPlusThrowOM()); }
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
MODE_ANY;
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
if (FORBIDGC_LOADER_USE_ENABLED() || fLoadTypes != LoadTypes) { LOADS_TYPE(CLASS_LOAD_BEGIN); } else { LOADS_TYPE(level); }
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
PRECONDITION(CheckPointer(pAssembly));
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
PRECONDITION(level > CLASS_LOAD_BEGIN && level <= CLASS_LOADED);
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
POSTCONDITION(CheckPointer(RETVAL,
(fNotFound == ThrowIfNotFound && fLoadTypes == LoadTypes )? NULL_NOT_OK : NULL_OK));
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
POSTCONDITION(RETVAL.IsNull() || RETVAL.CheckLoadLevel(level));
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
SUPPORTS_DAC;
#ifdef DACCESS_COMPILE
PRECONDITION((fNotFound == ClassLoader::ReturnNullIfNotFound) && (fLoadTypes == DontLoadTypes));
#endif
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
}
CONTRACT_END
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
NameHandle nameHandle(nameSpace, name);
- if (fLoadTypes == DontLoadTypes)
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ if (fLoadTypes == DontLoadTypes) {
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
nameHandle.SetTokenNotToLoad(tdAllTypes);
- if (fNotFound == ThrowIfNotFound)
- RETURN pAssembly->GetLoader()->LoadTypeHandleThrowIfFailed(&nameHandle, level);
- else
- RETURN pAssembly->GetLoader()->LoadTypeHandleThrowing(&nameHandle, level);
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ }
+
+ TypeHandle ret;
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ if (fNotFound == ThrowIfNotFound) {
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ ret = pAssembly->GetLoader()->LoadTypeHandleThrowIfFailed(&nameHandle, level);
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ } else {
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ ret = pAssembly->GetLoader()->LoadTypeHandleThrowing(&nameHandle, level);
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing == [%s +%d]\n", __FILE__, __LINE__);
+ }
+
+ dprintf(1, "#### ClassLoader::LoadTypeByNameThrowing E: ret=%p\n", ret);
+
+ RETURN ret;
}
#ifndef DACCESS_COMPILE