Name Description Size
DOMProxy.h Specify information about DOMProxy proxies in the DOM, for use by ICs. Embedders who don't need to define particularly high-performance proxies that can have random properties added to them can ignore this header. 3211
DumpFunctions.h Functions to print out values during debugging. 3912
ErrorMessages.h SpiderMonkey internal error numbering and error-formatting functionality (also for warnings). This functionality is moderately stable. JSErrNum and js::GetErrorMessage are widely used inside SpiderMonkey, and Gecko uses them to produce errors identical to those SpiderMonkey itself would produce, in various situations. However, the set of error numbers is not stable, error number values are not stable, error types are not stable, etc. Use your own error reporting code if you can. 1581
ErrorNumbers.msg 74962
JSMEnvironment.h Functionality provided for the JSM component loader in Gecko, that requires its own unique manner of global environment and currently requires assistance from SpiderMonkey to do so. Embedders who aren't Gecko can ignore this header. 3866
PerformanceHint.h namespace gc 945
StackLimits.h 7464
UsageStatistics.h Telemetry and use counter functionality. 3461
WindowProxy.h Window and WindowProxy. For silly obscure reasons embedders are better off not knowing, the web wants every global object to exist as two linked components: a Window component that stores global variables and appears in environment chains but can't be directly referred to by any script, and a WindowProxy component that intermediates access to its Window that *can* be directly referred to by script. (Thus the global |window| and |globalThis| properties, |this| in global code, the value of |(function() { return this; })()| in non-strict mode code, and similar values are WindowProxy objects, not Windows.) Maintaining an invariant of never exposing a Window to script requires substituting in its WindowProxy in a variety of apparently arbitrary (but actually *very* carefully and nervously selected) places throughout the engine and indeed the universe. This header defines functions that let embeddings convert from a WindowProxy to its Window and vice versa. If you're not embedding SpiderMonkey in a web browser, you can almost certainly ignore this header. 3647
XrayJitInfo.h JIT info so SpiderMonkey can efficiently work with Gecko XrayWrapper instances. This header is completely irrelevant to non-Gecko embedders. 1662