diff options
author | 2022-09-06 18:32:16 -0700 | |
---|---|---|
committer | 2022-09-06 18:32:16 -0700 | |
commit | dda23a60766c23fcd4d8cb24b9d232820cc5aab9 (patch) | |
tree | 5bb07cfbf60244dfb96adc9e3d18479bc9566727 /src/bun.js | |
parent | 8d71a931a352af70eb35e3c3b536335634779dab (diff) | |
download | bun-dda23a60766c23fcd4d8cb24b9d232820cc5aab9.tar.gz bun-dda23a60766c23fcd4d8cb24b9d232820cc5aab9.tar.zst bun-dda23a60766c23fcd4d8cb24b9d232820cc5aab9.zip |
Move some things to the stack
Diffstat (limited to 'src/bun.js')
-rw-r--r-- | src/bun.js/test/jest.zig | 19 |
1 files changed, 10 insertions, 9 deletions
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()); }, } } |