From dda23a60766c23fcd4d8cb24b9d232820cc5aab9 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Tue, 6 Sep 2022 18:32:16 -0700 Subject: Move some things to the stack --- src/bun.js/test/jest.zig | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/bun.js/test/jest.zig b/src/bun.js/test/jest.zig index bee8467e6..9e441c614 100644 --- a/src/bun.js/test/jest.zig +++ b/src/bun.js/test/jest.zig @@ -694,12 +694,13 @@ pub const TestScope = struct { ) Result { if (comptime is_bindgen) return undefined; var vm = VirtualMachine.vm; + var callback = this.callback; defer { - js.JSValueUnprotect(vm.global.ref(), this.callback); + js.JSValueUnprotect(vm.global.ref(), callback); this.callback = null; } JSC.markBinding(); - const initial_value = js.JSObjectCallAsFunctionReturnValue(vm.global.ref(), this.callback, null, 0, null); + const initial_value = js.JSObjectCallAsFunctionReturnValue(vm.global.ref(), callback, null, 0, null); if (initial_value.isException(vm.global.vm()) or initial_value.isError() or initial_value.isAggregateError(vm.global)) { vm.runErrorHandler(initial_value, null); @@ -711,21 +712,21 @@ pub const TestScope = struct { return .{ .pending = .{} }; } - this.promise = JSC.JSInternalPromise.resolvedPromise(vm.global, initial_value); + var promise = JSC.JSInternalPromise.resolvedPromise(vm.global, initial_value); + this.promise = promise; + defer { this.promise = null; } - vm.waitForPromise(this.promise.?); - switch (this.promise.?.status(vm.global.vm())) { + vm.waitForPromise(promise); + switch (promise.status(vm.global.vm())) { .Rejected => { - vm.runErrorHandler(this.promise.?.result(vm.global.vm()), null); + vm.runErrorHandler(promise.result(vm.global.vm()), null); return .{ .fail = this.counter.actual }; }, else => { - if (this.promise != null) - // don't care about the result - _ = this.promise.?.result(vm.global.vm()); + _ = promise.result(vm.global.vm()); }, } } -- cgit v1.2.3