diff --git a/src/Microsoft.Blazor/RenderTree/ArrayBuilder.cs b/src/Microsoft.Blazor/RenderTree/ArrayBuilder.cs
index b07445d878..d46bb5648d 100644
--- a/src/Microsoft.Blazor/RenderTree/ArrayBuilder.cs
+++ b/src/Microsoft.Blazor/RenderTree/ArrayBuilder.cs
@@ -45,8 +45,8 @@ namespace Microsoft.Blazor.RenderTree
/// Appends a new item, automatically resizing the underlying array if necessary.
///
/// The item to append.
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public void Append(T item)
+ [MethodImpl(MethodImplOptions.AggressiveInlining)] // Just like System.Collections.Generic.List
+ public void Append(in T item)
{
if (_itemsInUse == _items.Length)
{
diff --git a/src/Microsoft.Blazor/RenderTree/RenderTreeBuilder.cs b/src/Microsoft.Blazor/RenderTree/RenderTreeBuilder.cs
index 22327e818d..e823fae230 100644
--- a/src/Microsoft.Blazor/RenderTree/RenderTreeBuilder.cs
+++ b/src/Microsoft.Blazor/RenderTree/RenderTreeBuilder.cs
@@ -159,7 +159,7 @@ namespace Microsoft.Blazor.RenderTree
public ArrayRange GetNodes() =>
_entries.ToRange();
- private void Append(RenderTreeNode node)
+ private void Append(in RenderTreeNode node)
{
_entries.Append(node);
diff --git a/src/Microsoft.Blazor/RenderTree/RenderTreeDiffComputer.cs b/src/Microsoft.Blazor/RenderTree/RenderTreeDiffComputer.cs
index 0ea51a3f37..2a3694d1ea 100644
--- a/src/Microsoft.Blazor/RenderTree/RenderTreeDiffComputer.cs
+++ b/src/Microsoft.Blazor/RenderTree/RenderTreeDiffComputer.cs
@@ -286,7 +286,7 @@ namespace Microsoft.Blazor.RenderTree
return index;
}
- private void Append(RenderTreeEdit entry)
+ private void Append(in RenderTreeEdit entry)
{
if (entry.Type == RenderTreeEditType.StepOut)
{