Skip to content

Instantly share code, notes, and snippets.

@azu
Created December 25, 2010 15:21

Revisions

  1. azu revised this gist Dec 26, 2010. 1 changed file with 6 additions and 2 deletions.
    8 changes: 6 additions & 2 deletions getMemoryInfo.uc.js
    Original file line number Diff line number Diff line change
    @@ -25,10 +25,14 @@ var memoryInfo = {
    }
    var mapped = gMemReporters["malloc/mapped"].memoryUsed;
    var allocated = gMemReporters["malloc/allocated"].memoryUsed;
    var committed = gMemReporters["malloc/committed"].memoryUsed;
    var dirty = gMemReporters["malloc/dirty"].memoryUsed;
    return {
    "mapped": mapped,
    "allocated": allocated
    "allocated": allocated,
    "committed": committed,
    "dirty": dirty
    }
    }
    }
    gBrowser.addEventListener("load", memoryInfo.init, true);
    gBrowser.addEventListener("load", memoryInfo.init, true);
  2. azu created this gist Dec 25, 2010.
    34 changes: 34 additions & 0 deletions getMemoryInfo.uc.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    // ==UserScript==
    // @name getMemoryInfo
    // @namespace http://efcl.info/
    // @description メモリ情報をcontentスコープから取得できるように拡張
    // @include main
    // ==/UserScript==
    var memoryInfo = {
    init: function(event) {
    let doc = event.originalTarget;
    //alert(doc.defaultView.location.href);
    if (doc instanceof HTMLDocument) {
    var win = doc.defaultView.wrappedJSObject;
    if (!win.getMemoryInfo) {
    win.getMemoryInfo = memoryInfo.getMemoryInfo;
    }
    }
    },
    getMemoryInfo: function() {
    var mgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager);
    var e = mgr.enumerateReporters();
    var gMemReporters = {};
    while (e.hasMoreElements()) {
    var mr = e.getNext().QueryInterface(Ci.nsIMemoryReporter);
    gMemReporters[mr.path] = mr;
    }
    var mapped = gMemReporters["malloc/mapped"].memoryUsed;
    var allocated = gMemReporters["malloc/allocated"].memoryUsed;
    return {
    "mapped": mapped,
    "allocated": allocated
    }
    }
    }
    gBrowser.addEventListener("load", memoryInfo.init, true);