Skip to content

Commit d3c1c68

Browse files
committed
Do not reset size of TailCallArgBuffer
TailCallArgBuffer:State is 32-bit int. The code incorrectly used native int operation to set. It lead to TailCallArgBuffer::Size to be reset as well and needlessly re-allocating the tail call buffer. Fixes #118166
1 parent 9732798 commit d3c1c68

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/coreclr/vm/tailcallhelp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ MethodDesc* TailCallHelp::CreateCallTargetStub(const TailCallInfo& info)
493493
// takes over.
494494
pCode->EmitLDARG(ARG_ARG_BUFFER);
495495
pCode->EmitLDC(info.ArgBufLayout.HasInstArg ? TAILCALLARGBUFFER_INSTARG_ONLY : TAILCALLARGBUFFER_ABANDONED);
496-
pCode->EmitSTIND_I();
496+
pCode->EmitSTIND_I4();
497497

498498
int numRetVals = info.CallSiteSig->IsReturnTypeVoid() ? 0 : 1;
499499
// Normally there will not be any target and we just emit a normal

0 commit comments

Comments
 (0)