Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/js/xpconnect/tests/unit/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  test_js_weak_references.js   Sprache: JAVA

 
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


/* See https://bugzilla.mozilla.org/show_bug.cgi?id=317304 */

function run_test()
{
  // Bug 712649: Calling getWeakReference(null) should work.
  try {
    var nullWeak = Cu.getWeakReference(null);
    Assert.ok(nullWeak.get() === null);
  } catch (e) {
    Assert.ok(false);
  }

  var obj = { num: 5, str: 'foo' };
  var weak = Cu.getWeakReference(obj);

  Assert.ok(weak.get() === obj);
  Assert.ok(weak.get().num == 5);
  Assert.ok(weak.get().str == 'foo');

  // Force garbage collection
  Cu.forceGC();

  // obj still references the object, so it should still be accessible via weak
  Assert.ok(weak.get() === obj);
  Assert.ok(weak.get().num == 5);
  Assert.ok(weak.get().str == 'foo');

  // Clear obj's reference to the object and force garbage collection. To make
  // sure that there are no instances of obj stored in the registers or on the
  // native stack and the conservative GC would not find it we force the same
  // code paths that we used for the initial allocation.
  obj = { num: 6, str: 'foo2' };
  var weak2 = Cu.getWeakReference(obj);
  Assert.ok(weak2.get() === obj);

  Cu.forceGC();

  // The object should have been garbage collected and so should no longer be
  // accessible via weak
  Assert.ok(weak.get() === null);
}

Messung V0.5
C=77 H=100 G=89

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.