зеркало из https://github.com/mono/ikvm-fork.git
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:
Родитель
1aa586244e
Коммит
3b15615c07
|
@ -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()
|
||||
|
|
Загрузка…
Ссылка в новой задаче