| // Copyright 2020 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Flags: --harmony-weak-refs --expose-gc --noincremental-marking |
| // Flags: --no-stress-opt |
| |
| // Since cleanup tasks are top-level tasks, errors thrown from them don't stop |
| // future cleanup tasks from running. |
| |
| function callback(holdings) { |
| throw new Error('callback'); |
| }; |
| |
| const fg1 = new FinalizationRegistry(callback); |
| const fg2 = new FinalizationRegistry(callback); |
| |
| (function() { |
| let x = {}; |
| fg1.register(x, {}); |
| fg2.register(x, {}); |
| x = null; |
| })(); |
| |
| gc(); |