Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Commit

Permalink
Update RyuJIT (#6550)
Browse files Browse the repository at this point in the history
  • Loading branch information
MichalStrehovsky authored Nov 10, 2018
1 parent 5fbe59f commit c0fe502
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dependencies.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RyuJITVersion>3.0.0-preview-27107-01</RyuJITVersion>
<RyuJITVersion>3.0.0-preview-27109-03</RyuJITVersion>
<ObjectWriterVersion>1.0.0-alpha-26412-0</ObjectWriterVersion>
<CoreFxVersion>4.6.0-preview.18558.2</CoreFxVersion>
<CoreFxUapVersion>4.7.0-preview.18558.2</CoreFxUapVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,12 @@ protected override void CompileInternal(string outputFile, ObjectDumper dumper)
}
}

internal bool IsInheritanceChainLayoutFixedInCurrentVersionBubble(TypeDesc type)
{
// TODO: implement
return true;
}

protected override void ComputeDependencyNodeDependencies(List<DependencyNodeCore<NodeFactory>> obj)
{
foreach (DependencyNodeCore<NodeFactory> dependency in obj)
Expand Down
11 changes: 8 additions & 3 deletions src/JitInterface/src/CorInfoImpl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1243,6 +1243,10 @@ private uint getHeapClassSize(CORINFO_CLASS_STRUCT_* cls)

Debug.Assert(!type.IsValueType);
Debug.Assert(type.IsDefType);
Debug.Assert(!type.IsString);
#if READYTORUN
Debug.Assert(_compilation.IsInheritanceChainLayoutFixedInCurrentVersionBubble(type));
#endif

return (uint)((DefType)type).InstanceByteCount.AsInt;
}
Expand All @@ -1256,7 +1260,10 @@ private bool canAllocateOnStack(CORINFO_CLASS_STRUCT_* cls)

bool result = !type.HasFinalizer;

// TODO: for ready to run, check whether inheritance chain is within the version bubble
#if READYTORUN
if (!_compilation.IsInheritanceChainLayoutFixedInCurrentVersionBubble(type))
result = false;
#endif

return result;
}
Expand Down Expand Up @@ -1338,8 +1345,6 @@ private uint getClassGClayout(CORINFO_CLASS_STRUCT_* cls, byte* gcPtrs)

DefType type = (DefType)HandleToObject(cls);

Debug.Assert(type.IsValueType);

int pointerSize = PointerSize;

int ptrsCount = AlignmentHelper.AlignUp(type.InstanceFieldSize.AsInt, pointerSize) / pointerSize;
Expand Down

0 comments on commit c0fe502

Please sign in to comment.