Skip to content

Commit c86a082

Browse files
committed
Fix mark and sweep
1 parent 529d3c9 commit c86a082

File tree

1 file changed

+14
-2
lines changed
  • nova_vm/src/ecmascript/builtins/control_abstraction_objects/promise_objects/promise_abstract_operations

1 file changed

+14
-2
lines changed

nova_vm/src/ecmascript/builtins/control_abstraction_objects/promise_objects/promise_abstract_operations/promise_all_record.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,23 @@ impl IndexMut<PromiseAll<'_>> for Vec<Option<PromiseAllRecord<'static>>> {
9393

9494
impl HeapMarkAndSweep for PromiseAllRecord<'static> {
9595
fn mark_values(&self, queues: &mut WorkQueues) {
96-
self.result_array.mark_values(queues);
96+
let Self {
97+
remaining_unresolved_promise_count: _,
98+
result_array,
99+
promise,
100+
} = self;
101+
result_array.mark_values(queues);
102+
promise.mark_values(queues);
97103
}
98104

99105
fn sweep_values(&mut self, compactions: &CompactionLists) {
100-
self.result_array.sweep_values(compactions);
106+
let Self {
107+
remaining_unresolved_promise_count: _,
108+
result_array,
109+
promise,
110+
} = self;
111+
result_array.sweep_values(compactions);
112+
promise.sweep_values(compactions);
101113
}
102114
}
103115

0 commit comments

Comments
 (0)