Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2013-02-14 18:57:57 +0400
committerjfrijters <jfrijters>2013-02-14 18:57:57 +0400
commit3e52ea95bbac0fca458c9bf8f05ea969ecb5add4 (patch)
treea07649bec816c158fd287d024bd29b84f096ee54
parentf0999e17aac85f2acf85cd6c23673a6e9d0dc99b (diff)
- Marked some field readonly.
- Fixed a memory model issue.
-rw-r--r--runtime/MemberWrapper.cs18
1 files changed, 9 insertions, 9 deletions
diff --git a/runtime/MemberWrapper.cs b/runtime/MemberWrapper.cs
index 5717bf85..d5c5abcb 100644
--- a/runtime/MemberWrapper.cs
+++ b/runtime/MemberWrapper.cs
@@ -58,11 +58,11 @@ namespace IKVM.Internal
abstract class MemberWrapper
{
private HandleWrapper handle;
- private TypeWrapper declaringType;
- private Modifiers modifiers;
+ private readonly TypeWrapper declaringType;
+ private readonly Modifiers modifiers;
private MemberFlags flags;
- private string name;
- private string sig;
+ private readonly string name;
+ private readonly string sig;
private sealed class HandleWrapper
{
@@ -1090,8 +1090,8 @@ namespace IKVM.Internal
sealed class SimpleCallMethodWrapper : MethodWrapper
{
- private SimpleOpCode call;
- private SimpleOpCode callvirt;
+ private readonly SimpleOpCode call;
+ private readonly SimpleOpCode callvirt;
internal SimpleCallMethodWrapper(TypeWrapper declaringType, string name, string sig, MethodInfo method, TypeWrapper returnType, TypeWrapper[] parameterTypes, Modifiers modifiers, MemberFlags flags, SimpleOpCode call, SimpleOpCode callvirt)
: base(declaringType, name, sig, method, returnType, parameterTypes, modifiers, flags)
@@ -1491,7 +1491,7 @@ namespace IKVM.Internal
#else
if (jniAccessor == null)
{
- jniAccessor = IKVM.NativeCode.sun.reflect.ReflectionFactory.NewFieldAccessorJNI(this);
+ Interlocked.CompareExchange(ref jniAccessor, IKVM.NativeCode.sun.reflect.ReflectionFactory.NewFieldAccessorJNI(this), null);
}
return jniAccessor;
#endif
@@ -1913,8 +1913,8 @@ namespace IKVM.Internal
sealed class CompiledAccessStubFieldWrapper : FieldWrapper
{
- private MethodInfo getter;
- private MethodInfo setter;
+ private readonly MethodInfo getter;
+ private readonly MethodInfo setter;
private static Modifiers GetModifiers(PropertyInfo property)
{