diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs index 30bd737..3f2a983 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs @@ -170,9 +170,9 @@ namespace Cysharp.Threading.Tasks.Internal for (int i = 0; i < actionListCount; i++) { + var action = actionList[i]; actionList[i] = null; - try { action(); diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/PlayerLoopRunner.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/PlayerLoopRunner.cs index 621ba5a..28babed 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/PlayerLoopRunner.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/Internal/PlayerLoopRunner.cs @@ -143,6 +143,7 @@ namespace Cysharp.Threading.Tasks.Internal { var j = tail - 1; + var loopItems = this.loopItems; // eliminate array-bound check for i for (int i = 0; i < loopItems.Length; i++) {