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

Update RyuJIT #6550

Merged
merged 1 commit into from
Nov 10, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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