зеркало из https://github.com/mono/ikvm-fork.git
The synthetic atomic update helper nested types should not be visible from Java, so they should have a name starting with "__<".
This commit is contained in:
Родитель
47655ecdb9
Коммит
7eb8c80322
|
@ -78,7 +78,7 @@ static class AtomicReferenceFieldUpdaterEmitter
|
||||||
{
|
{
|
||||||
// note that we don't need to lock here, because we're running as part of FinishCore, which is already protected by a lock
|
// note that we don't need to lock here, because we're running as part of FinishCore, which is already protected by a lock
|
||||||
TypeWrapper arfuTypeWrapper = ClassLoaderWrapper.LoadClassCritical("java.util.concurrent.atomic.AtomicReferenceFieldUpdater");
|
TypeWrapper arfuTypeWrapper = ClassLoaderWrapper.LoadClassCritical("java.util.concurrent.atomic.AtomicReferenceFieldUpdater");
|
||||||
TypeBuilder tb = wrapper.TypeAsBuilder.DefineNestedType("__ARFU_" + field.Name + field.Signature.Replace('.', '/'), TypeAttributes.NestedPrivate | TypeAttributes.Sealed, arfuTypeWrapper.TypeAsBaseType);
|
TypeBuilder tb = wrapper.TypeAsBuilder.DefineNestedType("__<ARFU>_" + field.Name + field.Signature.Replace('.', '/'), TypeAttributes.NestedPrivate | TypeAttributes.Sealed, arfuTypeWrapper.TypeAsBaseType);
|
||||||
EmitCompareAndSet("compareAndSet", tb, field.GetField());
|
EmitCompareAndSet("compareAndSet", tb, field.GetField());
|
||||||
EmitCompareAndSet("weakCompareAndSet", tb, field.GetField());
|
EmitCompareAndSet("weakCompareAndSet", tb, field.GetField());
|
||||||
EmitGet(tb, field.GetField());
|
EmitGet(tb, field.GetField());
|
||||||
|
|
Загрузка…
Ссылка в новой задаче