Performance fix. Use a sentinel value instead of null for the unknown baseTypeWrapper state, because null is a valid value.

This commit is contained in:
jfrijters 2015-06-20 04:54:19 +00:00
Родитель 1aa586244e
Коммит 3b15615c07
1 изменённых файлов: 9 добавлений и 2 удалений

Просмотреть файл

@ -3784,7 +3784,7 @@ namespace IKVM.Internal
class CompiledTypeWrapper : TypeWrapper
{
private readonly Type type;
private TypeWrapper baseTypeWrapper;
private TypeWrapper baseTypeWrapper = VerifierTypeWrapper.Null;
private volatile TypeWrapper[] interfaces;
private MethodInfo clinitMethod;
private volatile bool clinitMethodSet;
@ -4074,7 +4074,14 @@ namespace IKVM.Internal
internal override TypeWrapper BaseTypeWrapper
{
get { return baseTypeWrapper ?? (baseTypeWrapper = GetBaseTypeWrapper(type)); }
get
{
if (baseTypeWrapper != VerifierTypeWrapper.Null)
{
return baseTypeWrapper;
}
return baseTypeWrapper = GetBaseTypeWrapper(type);
}
}
internal override ClassLoaderWrapper GetClassLoader()