Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

The following are examples of the results of running js_calls.d

A JavaScript program that behaves like a clock is frequently used by these
examples, since it can be left running in the background without browser
input. Browser input, such as hitting the reload button or using menus,
triggers many other JavaScript events since much of the browser uses
JavaScript. 

With Code/JavaScript/func_clock.html loaded, we trace one second of activity:

# js_calls.d
Tracing... Hit Ctrl-C to end.
^C
 FILE                     TYPE       NAME                              CALLS
 func_clock.html          exec       .                                     1
 func_clock.html          func       func_a                                1
 func_clock.html          func       func_b                                1
 func_clock.html          func       func_c                                1
 func_clock.html          func       setTimeout                            1
 func_clock.html          func       start                                 1
 func_clock.html          obj-new    Date                                  1
 func_clock.html          func       getElementById                        4

This shows the type of calls made, 1 exec, one obj-new, several func; a more
descriptive name of each call; and a count of how many times a particular call
was made. 


The following demonstrates what happens when a different program -
Code/JavaScript/func_slow.html is reloaded by hitting the reload button on the 
browser.  Apart from the func_slow.html JavaScript events, all those events 
from the browser caused by moving the mouse pointer over the screen etc. have 
been traced as well.

# js_calls.d
Tracing... Hit Ctrl-C to end.

 FILE                     TYPE       NAME                              CALLS
 <null>                   obj-free   BarProp                               1
 <null>                   obj-free   CSSStyleDeclaration                   1
 <null>                   obj-free   Global Scope Polluter                 1
 <null>                   obj-free   HTMLCollection                        1
 <null>                   obj-free   HTMLDocument                          1
 <null>                   obj-free   HTMLHtmlElement                       1
 <null>                   obj-free   KeyboardEvent                         1
 <null>                   obj-free   Location                              1
 <null>                   obj-free   NodeList                              1
 <null>                   obj-free   StyleSheetList                        1
 <null>                   obj-free   TreeSelection                         1
 <null>                   obj-free   Window                                1
 <null>                   obj-free   XULCommandDispatcher                  1
 <null>                   obj-free   chrome://global/content/bindings/scrollbar.xml#scrollbar 8c35ec2        1
 <null>                   obj-free   nsXPCComponents_Classes               1
 <null>                   obj-free   xpcTempGlobalClass                    1
 <null>                   obj-new    BarProp                               1
 <null>                   obj-new    CSSStyleDeclaration                   1
 <null>                   obj-new    Global Scope Polluter                 1
 <null>                   obj-new    HTMLCollection                        1
 <null>                   obj-new    HTMLDocument                          1
 <null>                   obj-new    HTMLHtmlElement                       1
 <null>                   obj-new    KeyboardEvent                         1
 <null>                   obj-new    NodeList                              1
 <null>                   obj-new    StyleSheetList                        1
 <null>                   obj-new    TreeSelection                         1
 <null>                   obj-new    Window                                1
 <null>                   obj-new    XULCommandDispatcher                  1
 <null>                   obj-new    chrome://global/content/bindings/popup.xml#popup 8befc22        1
 <null>                   obj-new    chrome://global/content/bindings/popup.xml#popup 8befcea        1
 <null>                   obj-new    chrome://global/content/bindings/scrollbar.xml#scrollbar 8ce1c1a        1
 <null>                   obj-new    nsXPCComponents_Classes               1
 <null>                   obj-new    xpcTempGlobalClass                    1
 autocomplete.xml         func       apply                                 1
 autocomplete.xml         func       attachController                      1
 autocomplete.xml         func       detachController                      1
 autocomplete.xml         func       fireEvent                             1
 autocomplete.xml         func       getPreventDefault                     1
 autocomplete.xml         func       handleEnter                           1
 autocomplete.xml         func       onKeyPress                            1
 autocomplete.xml         obj-new    Object                                1
 browser.js               func       BrowserLoadURL                        1
 browser.js               func       SetPageProxyState                     1
 browser.js               func       URLBarFocusHandler                    1
 browser.js               func       UpdateBackForwardButtons              1
 browser.js               func       addEventListener                      1
 browser.js               func       addToUrlbarHistory                    1
 browser.js               func       canonizeUrl                           1
 browser.js               func       charsetLoadListener                   1
 browser.js               func       checkForDirectoryListing              1
 browser.js               func       contentAreaClick                      1
 browser.js               func       createExposableURI                    1
 browser.js               func       createFixupURI                        1
 browser.js               func       getShortcutOrURI                      1
 browser.js               func       getWebNavigation                      1
 browser.js               func       handleURLBarCommand                   1
 browser.js               func       isSuccessCode                         1
 browser.js               func       markPageAsTyped                       1
 browser.js               func       resolveKeyword                        1
 browser.js               func       search                                1
 browser.js               func       test                                  1
 browser.js               func       updateLastVisitedDate                 1
 browser.js               obj-new    Object                                1
 browser.js               obj-new    XPC_WN_NoMods_Proto_JSClass           1
 browser.js               obj-new    nsJSCID                               1
 browser.xml              func       attachFormFill                        1
 browser.xml              func       getAttribute                          1
 browser.xml              func       getBoolPref                           1
 consoleAPI.js            obj-new    Call                                  1
 findBar.js               func       getElementById                        1
 firebug.js               func       addEventListener                      1
 firebug.js               obj-new    Constructor                           1
 firebug.js               obj-new    Location                              1
 firebug.js               obj-new    Object                                1
 firebug.js               obj-new    XPC_WN_ModsAllowed_Proto_JSClass        1
 func_slow.html           exec       .                                     1
 func_slow.html           func       func_a                                1
 func_slow.html           func       func_b                                1
 func_slow.html           func       func_c                                1
 func_slow.html           obj-new    Function                              1
 preferences.js           obj-new    nsJSCID                               1
 reporterOverlay.js       func       getElementById                        1
 reporterOverlay.js       func       setAttribute                          1
 tabbox.xml               func       getAttribute                          1
 tabbrowser.xml           func       QueryInterface                        1
 tabbrowser.xml           func       getAnonymousElementByAttribute        1
 tabbrowser.xml           func       getBrowserIndexForDocument            1
 tabbrowser.xml           func       indexOf                               1
 tabbrowser.xml           func       push                                  1
 tabbrowser.xml           func       setIcon                               1
 tabbrowser.xml           func       setTabTitle                           1
 tabbrowser.xml           func       shouldLoadFavIcon                     1
 tabbrowser.xml           func       updateTitlebar                        1
 tabbrowser.xml           func       useDefaultIcon                        1
 tabbrowser.xml           obj-new    Array                                 1
 tabbrowser.xml           obj-new    String                                1
 textbox.xml              func       hasAttribute                          1
 textbox.xml              func       setAttribute                          1
 webdeveloper.js          func       getAttribute                          1
 webdeveloper.js          func       hasAttribute                          1
 webdeveloper.js          func       toLowerCase                           1
 webdeveloper.js          func       webdeveloper_changeOptions            1
 webdeveloper.js          func       webdeveloper_configureElement         1
 webdeveloper.js          func       webdeveloper_openToolbarButton        1
 webdeveloper.js          func       webdeveloper_updateMetaRedirects        1
 webdeveloper.js          func       webdeveloper_updateRenderMode         1
 webdeveloper.js          obj-new    Array                                 1
 webdeveloper.js          obj-new    String                                1
 <null>                   obj-free   BoxObject                             2
 <null>                   obj-free   HTMLBodyElement                       2
 <null>                   obj-free   JSOptions                             2
 <null>                   obj-free   JavaArray                             2
 <null>                   obj-free   JavaClass                             2
 <null>                   obj-free   JavaMember                            2
 <null>                   obj-free   JavaObject                            2
 <null>                   obj-free   PageTransitionEvent                   2
 <null>                   obj-free   nsJSCID                               2
 <null>                   obj-new    BoxObject                             2
 <null>                   obj-new    HTMLBodyElement                       2
 <null>                   obj-new    JSOptions                             2
 <null>                   obj-new    JavaArray                             2
 <null>                   obj-new    JavaClass                             2
 <null>                   obj-new    JavaMember                            2
 <null>                   obj-new    JavaObject                            2
 <null>                   obj-new    PageTransitionEvent                   2
 autocomplete.xml         func       ensureRowIsVisible                    2
 autocomplete.xml         func       initSearchNames                       2
 autocomplete.xml         func       select                                2
 autocomplete.xml         obj-new    Function                              2
 browser.js               func       PageProxyClearIcon                    2
 browser.js               func       PageProxySetIcon                      2
 browser.js               func       URLBarClickHandler                    2
 browser.js               func       URLBarMouseDownHandler                2
 browser.js               func       XPCNativeWrapper function wrapper        2
 browser.js               func       getService                            2
 browser.js               func       loadURI                               2
 browser.js               func       notifyObservers                       2
 css.js                   func       <null>                                2
 dom.js                   func       <null>                                2
 events.js                func       <null>                                2
 firebug.js               func       appendChild                           2
 firebug.js               obj-new    XPC_WN_NoMods_Proto_JSClass           2
 general.xml              func       getAttribute                          2
 layout.js                func       <null>                                2
 preferences.js           func       webdeveloper_getStringPreference        2
 progressmeter.xml        func       createEvent                           2
 progressmeter.xml        func       dispatchEvent                         2
 progressmeter.xml        func       initEvent                             2
 progressmeter.xml        func       setAttribute                          2
 reporterOverlay.js       obj-new    Function                              2
 scrollbar.xml            func       indexOf                               2
 source.js                func       <null>                                2
 style.js                 func       <null>                                2
 tabbox.xml               func       setAttribute                          2
 tabbrowser.xml           func       getBoolPref                           2
 tabbrowser.xml           func       getBrowserAtIndex                     2
 tabbrowser.xml           func       schemeIs                              2
 tabbrowser.xml           func       setAttribute                          2
 textbox.xml              func       setSelectionRange                     2
 toolbar.xml              func       updateStatusText                      2
 tree.xml                 obj-new    Function                              2
 webdeveloper.js          func       getElementsByTagName                  2
 webdeveloper.js          func       removeAttribute                       2
 <null>                   obj-free   DOM Constructor.prototype             3
 <null>                   obj-free   With                                  3
 <null>                   obj-free   nsXPCComponents                       3
 <null>                   obj-new    Array                                 3
 <null>                   obj-new    DOM Constructor.prototype             3
 <null>                   obj-new    With                                  3
 <null>                   obj-new    XPC_WN_NoMods_Proto_JSClass           3
 <null>                   obj-new    nsXPCComponents                       3
 autocomplete.xml         func       getAttribute                          3
 browser.js               func       QueryInterface                        3
 func_slow.html           func       write                                 3
 globalOverlay.js         obj-new    Function                              3
 progressmeter.xml        func       getAttribute                          3
 progressmeter.xml        func       round                                 3
 scrollbar.xml            obj-new    String                                3
 tabbrowser.xml           func       <null>                                3
 tabbrowser.xml           func       hasAttribute                          3
 tabbrowser.xml           func       updateIcon                            3
 text.xml                 func       setAttribute                          3
 textbox.xml              func       removeAttribute                       3
 utils.js                 func       join                                  3
 utils.js                 func       splice                                3
 utils.js                 func       toLowerCase                           3
 utils.js                 obj-new    Array                                 3
 utils.js                 obj-new    String                                3
 autocomplete.xml         func       closePopup                            4
 browser.js               func       indexOf                               4
 browser.js               obj-new    Call                                  4
 browser.xml              func       getInterface                          4
 preferences.js           func       webdeveloper_getBooleanPreference        4
 tabbrowser.xml           func       getAttribute                          4
 tabbrowser.xml           func       removeAttribute                       4
 utilityOverlay.js        func       goUpdateGlobalEditMenuItems           4
 utils.js                 func       isElement                             4
 <null>                   obj-free   Call                                  5
 view.js                  func       <null>                                5
 <null>                   obj-free   XPCNativeWrapper                      6
 <null>                   obj-free   XPC_WN_NoMods_Proto_JSClass           6
 <null>                   obj-new    XPCNativeWrapper                      6
 XStringBundle            func       GetStringFromName                     6
 XStringBundle            func       getString                             6
 autocomplete.xml         func       createEvent                           6
 autocomplete.xml         func       dispatchEvent                         6
 autocomplete.xml         func       initEvent                             6
 browser.js               func       getBrowser                            6
 browser.js               func       setTimeout                            6
 browser.js               obj-new    String                                6
 preferences.js           func       getBranch                             6
 preferences.js           func       getService                            6
 preferences.js           func       prefHasUserValue                      6
 preferences.js           func       webdeveloper_isPreferenceSet          6
 tabbrowser.xml           func       getBrowserForTab                      6
 utils.js                 func       <null>                                6
 webdeveloper.js          obj-new    Function                              6
 <null>                   obj-new    Object                                7
 firebug.js               func       removeAttribute                       7
 tabbrowser.xml           obj-new    Function                              7
 tree.xml                 func       QueryInterface                        7
 <null>                   obj-free   Array                                 8
 browser.js               func       hasAttribute                          8
 globalOverlay.js         func       removeAttribute                       8
 reporterOverlay.js       func       <null>                                8
 browser.js               func       getElementById                        9
 browser.js               func       setAttribute                          9
 browser.xml              obj-new    Function                              9
 webdeveloper.js          func       getElementById                        9
 <null>                   obj-free   Constructor                          10
 <null>                   obj-free   Object                               10
 <null>                   obj-free   XPC_WN_ModsAllowed_Proto_JSClass       10
 <null>                   obj-new    Constructor                          10
 <null>                   obj-new    XPC_WN_ModsAllowed_Proto_JSClass       10
 browser.js               func       removeAttribute                      10
 firebug.js               obj-new    Function                             10
 text.xml                 obj-new    String                               12
 webdeveloper.js          func       item                                 14
 firebug.js               func       getElementById                       15
 <null>                   obj-free   XULElement                           16
 button.xml               func       hasAttribute                         16
 <null>                   obj-free   Event                                17
 browser.js               func       <null>                               17
 <null>                   obj-new    Event                                18
 text.xml                 func       getAttribute                         19
 firebug.js               func       getAttribute                         20
 globalOverlay.js         func       setAttribute                         20
 <null>                   obj-free   MouseEvent                           22
 <null>                   obj-new    MouseEvent                           22
 globalOverlay.js         func       isCommandEnabled                     22
 webdeveloper.js          func       setAttribute                         22
 <null>                   obj-free   String                               26
 firebug.js               func       setAttribute                         26
 <null>                   obj-free   RegExp                               28
 <null>                   obj-new    RegExp                               28
 globalOverlay.js         func       getControllerForCommand              28
 globalOverlay.js         func       getElementById                       28
 globalOverlay.js         func       goSetCommandEnabled                  28
 globalOverlay.js         func       goUpdateCommand                      28
 text.xml                 func       test                                 28
 browser.js               obj-new    Function                             30
 <null>                   obj-free   XPCWrappedNative_NoHelper            32
 <null>                   obj-new    XPCWrappedNative_NoHelper            32
 consoleAPI.js            obj-new    Function                             33
 browser.xml              func       QueryInterface                       38
 <null>                   obj-free   JavaPackage                          41
 <null>                   obj-new    JavaPackage                          41
 scrollbar.xml            obj-new    Function                             61
 firebug.js               func       <null>                               62
 text.xml                 exec       .                                    84
 <null>                   obj-new    XULElement                           85
 <null>                   obj-new    Function                            172
 <null>                   obj-free   Function                            310