// 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 let cleanup_called = false; function cleanup(holdings) { cleanup_called = true; }; (function() { let fg = new FinalizationRegistry(cleanup); (function() { let x = {}; fg.register(x, {}); x = null; })(); // Schedule fg for cleanup. gc(); })(); // Collect fg, which should result in cleanup not called. gc(); setTimeout(function() { assertFalse(cleanup_called); }, 0);