Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/js/Class.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
 * vim: set ts=8 sts=4 et sw=4 tw=99:
3
 * This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
/* JSClass definition and its component types, plus related interfaces. */
8
9
#ifndef js_Class_h
10
#define js_Class_h
11
12
#include "mozilla/Attributes.h"
13
14
#include "jstypes.h"
15
16
#include "js/CallArgs.h"
17
#include "js/Id.h"
18
#include "js/TypeDecls.h"
19
20
/*
21
 * A JSClass acts as a vtable for JS objects that allows JSAPI clients to
22
 * control various aspects of the behavior of an object like property lookup.
23
 * js::Class is an engine-private extension that allows more control over
24
 * object behavior and, e.g., allows custom slow layout.
25
 */
26
27
struct JSAtomState;
28
struct JSFreeOp;
29
struct JSFunctionSpec;
30
31
namespace js {
32
33
struct Class;
34
class FreeOp;
35
class Shape;
36
37
// This is equal to JSFunction::class_.  Use it in places where you don't want
38
// to #include jsfun.h.
39
extern JS_FRIEND_DATA(const js::Class* const) FunctionClassPtr;
40
41
} // namespace js
42
43
namespace JS {
44
45
/**
46
 * The answer to a successful query as to whether an object is an Array per
47
 * ES6's internal |IsArray| operation (as exposed by |Array.isArray|).
48
 */
49
enum class IsArrayAnswer
50
{
51
    Array,
52
    NotArray,
53
    RevokedProxy
54
};
55
56
/**
57
 * ES6 7.2.2.
58
 *
59
 * Returns false on failure, otherwise returns true and sets |*isArray|
60
 * indicating whether the object passes ECMAScript's IsArray test.  This is the
61
 * same test performed by |Array.isArray|.
62
 *
63
 * This is NOT the same as asking whether |obj| is an Array or a wrapper around
64
 * one.  If |obj| is a proxy created by |Proxy.revocable()| and has been
65
 * revoked, or if |obj| is a proxy whose target (at any number of hops) is a
66
 * revoked proxy, this method throws a TypeError and returns false.
67
 */
68
extern JS_PUBLIC_API(bool)
69
IsArray(JSContext* cx, HandleObject obj, bool* isArray);
70
71
/**
72
 * Identical to IsArray above, but the nature of the object (if successfully
73
 * determined) is communicated via |*answer|.  In particular this method
74
 * returns true and sets |*answer = IsArrayAnswer::RevokedProxy| when called on
75
 * a revoked proxy.
76
 *
77
 * Most users will want the overload above, not this one.
78
 */
79
extern JS_PUBLIC_API(bool)
80
IsArray(JSContext* cx, HandleObject obj, IsArrayAnswer* answer);
81
82
/**
83
 * Per ES6, the [[DefineOwnProperty]] internal method has three different
84
 * possible outcomes:
85
 *
86
 * -   It can throw an exception (which we indicate by returning false).
87
 *
88
 * -   It can return true, indicating unvarnished success.
89
 *
90
 * -   It can return false, indicating "strict failure". The property could
91
 *     not be defined. It's an error, but no exception was thrown.
92
 *
93
 * It's not just [[DefineOwnProperty]]: all the mutating internal methods have
94
 * the same three outcomes. (The other affected internal methods are [[Set]],
95
 * [[Delete]], [[SetPrototypeOf]], and [[PreventExtensions]].)
96
 *
97
 * If you think this design is awful, you're not alone.  But as it's the
98
 * standard, we must represent these boolean "success" values somehow.
99
 * ObjectOpSuccess is the class for this. It's like a bool, but when it's false
100
 * it also stores an error code.
101
 *
102
 * Typical usage:
103
 *
104
 *     ObjectOpResult result;
105
 *     if (!DefineProperty(cx, obj, id, ..., result))
106
 *         return false;
107
 *     if (!result)
108
 *         return result.reportError(cx, obj, id);
109
 *
110
 * Users don't have to call `result.report()`; another possible ending is:
111
 *
112
 *     argv.rval().setBoolean(result.reallyOk());
113
 *     return true;
114
 */
115
class ObjectOpResult
116
{
117
  private:
118
    /**
119
     * code_ is either one of the special codes OkCode or Uninitialized, or
120
     * an error code. For now the error codes are private to the JS engine;
121
     * they're defined in js/src/js.msg.
122
     *
123
     * code_ is uintptr_t (rather than uint32_t) for the convenience of the
124
     * JITs, which would otherwise have to deal with either padding or stack
125
     * alignment on 64-bit platforms.
126
     */
127
    uintptr_t code_;
128
129
  public:
130
    enum SpecialCodes : uintptr_t {
131
        OkCode = 0,
132
        Uninitialized = uintptr_t(-1)
133
    };
134
135
    static const uintptr_t SoftFailBit = uintptr_t(1) << (sizeof(uintptr_t) * 8 - 1);
136
137
3.25M
    ObjectOpResult() : code_(Uninitialized) {}
138
139
    /* Return true if succeed() or failSoft() was called. */
140
3.25M
    bool ok() const {
141
3.25M
        MOZ_ASSERT(code_ != Uninitialized);
142
3.25M
        return code_ == OkCode || (code_ & SoftFailBit);
143
3.25M
    }
144
145
3.25M
    explicit operator bool() const { return ok(); }
146
147
    /* Return true if succeed() was called. */
148
48
    bool reallyOk() const {
149
48
        MOZ_ASSERT(code_ != Uninitialized);
150
48
        return code_ == OkCode;
151
48
    }
152
153
    /* Set this ObjectOpResult to true and return true. */
154
3.25M
    bool succeed() {
155
3.25M
        code_ = OkCode;
156
3.25M
        return true;
157
3.25M
    }
158
159
    /*
160
     * Set this ObjectOpResult to false with an error code.
161
     *
162
     * Always returns true, as a convenience. Typical usage will be:
163
     *
164
     *     if (funny condition)
165
     *         return result.fail(JSMSG_CANT_DO_THE_THINGS);
166
     *
167
     * The true return value indicates that no exception is pending, and it
168
     * would be OK to ignore the failure and continue.
169
     */
170
0
    bool fail(uint32_t msg) {
171
0
        MOZ_ASSERT(msg != OkCode);
172
0
        MOZ_ASSERT((msg & SoftFailBit) == 0);
173
0
        code_ = msg;
174
0
        return true;
175
0
    }
176
177
    /*
178
     * DEPRECATED: This is a non-standard compatibility hack.
179
     *
180
     * Set this ObjectOpResult to true, but remembers an error code.
181
     * This is used for situations where we really want to fail,
182
     * but can't for legacy reasons.
183
     *
184
     * Always returns true, as a convenience.
185
     */
186
0
    bool failSoft(uint32_t msg) {
187
0
        // The msg code is currently never extracted again.
188
0
        code_ = msg | SoftFailBit;
189
0
        return true;
190
0
    }
191
192
    JS_PUBLIC_API(bool) failCantRedefineProp();
193
    JS_PUBLIC_API(bool) failReadOnly();
194
    JS_PUBLIC_API(bool) failGetterOnly();
195
    JS_PUBLIC_API(bool) failCantDelete();
196
197
    JS_PUBLIC_API(bool) failCantSetInterposed();
198
    JS_PUBLIC_API(bool) failCantDefineWindowElement();
199
    JS_PUBLIC_API(bool) failCantDeleteWindowElement();
200
    JS_PUBLIC_API(bool) failCantDeleteWindowNamedProperty();
201
    JS_PUBLIC_API(bool) failCantPreventExtensions();
202
    JS_PUBLIC_API(bool) failCantSetProto();
203
    JS_PUBLIC_API(bool) failNoNamedSetter();
204
    JS_PUBLIC_API(bool) failNoIndexedSetter();
205
    JS_PUBLIC_API(bool) failNotDataDescriptor();
206
207
0
    uint32_t failureCode() const {
208
0
        MOZ_ASSERT(!ok());
209
0
        return uint32_t(code_);
210
0
    }
211
212
    /*
213
     * Report an error or warning if necessary; return true to proceed and
214
     * false if an error was reported. Call this when failure should cause
215
     * a warning if extraWarnings are enabled.
216
     *
217
     * The precise rules are like this:
218
     *
219
     * -   If ok(), then we succeeded. Do nothing and return true.
220
     * -   Otherwise, if |strict| is true, or if cx has both extraWarnings and
221
     *     werrorOption enabled, throw a TypeError and return false.
222
     * -   Otherwise, if cx has extraWarnings enabled, emit a warning and
223
     *     return true.
224
     * -   Otherwise, do nothing and return true.
225
     */
226
154
    bool checkStrictErrorOrWarning(JSContext* cx, HandleObject obj, HandleId id, bool strict) {
227
154
        if (ok()) {
228
154
            return true;
229
154
        }
230
0
        return reportStrictErrorOrWarning(cx, obj, id, strict);
231
0
    }
232
233
    /*
234
     * The same as checkStrictErrorOrWarning(cx, id, strict), except the
235
     * operation is not associated with a particular property id. This is
236
     * used for [[PreventExtensions]] and [[SetPrototypeOf]]. failureCode()
237
     * must not be an error that has "{0}" in the error message.
238
     */
239
7
    bool checkStrictErrorOrWarning(JSContext* cx, HandleObject obj, bool strict) {
240
7
        return ok() || reportStrictErrorOrWarning(cx, obj, strict);
241
7
    }
242
243
    /* Throw a TypeError. Call this only if !ok(). */
244
0
    bool reportError(JSContext* cx, HandleObject obj, HandleId id) {
245
0
        return reportStrictErrorOrWarning(cx, obj, id, true);
246
0
    }
247
248
    /*
249
     * The same as reportError(cx, obj, id), except the operation is not
250
     * associated with a particular property id.
251
     */
252
0
    bool reportError(JSContext* cx, HandleObject obj) {
253
0
        return reportStrictErrorOrWarning(cx, obj, true);
254
0
    }
255
256
    /* Helper function for checkStrictErrorOrWarning's slow path. */
257
    JS_PUBLIC_API(bool) reportStrictErrorOrWarning(JSContext* cx, HandleObject obj, HandleId id, bool strict);
258
    JS_PUBLIC_API(bool) reportStrictErrorOrWarning(JSContext* cx, HandleObject obj, bool strict);
259
260
    /*
261
     * Convenience method. Return true if ok() or if strict is false; otherwise
262
     * throw a TypeError and return false.
263
     */
264
123
    bool checkStrict(JSContext* cx, HandleObject obj, HandleId id) {
265
123
        return checkStrictErrorOrWarning(cx, obj, id, true);
266
123
    }
267
268
    /*
269
     * Convenience method. The same as checkStrict(cx, id), except the
270
     * operation is not associated with a particular property id.
271
     */
272
7
    bool checkStrict(JSContext* cx, HandleObject obj) {
273
7
        return checkStrictErrorOrWarning(cx, obj, true);
274
7
    }
275
};
276
277
class PropertyResult
278
{
279
    union {
280
        js::Shape* shape_;
281
        uintptr_t bits_;
282
    };
283
284
    static const uintptr_t NotFound = 0;
285
    static const uintptr_t NonNativeProperty = 1;
286
    static const uintptr_t DenseOrTypedArrayElement = 1;
287
288
  public:
289
13.5M
    PropertyResult() : bits_(NotFound) {}
290
291
    explicit PropertyResult(js::Shape* propertyShape)
292
      : shape_(propertyShape)
293
0
    {
294
0
        MOZ_ASSERT(!isFound() || isNativeProperty());
295
0
    }
296
297
37.9M
    explicit operator bool() const {
298
37.9M
        return isFound();
299
37.9M
    }
300
301
37.9M
    bool isFound() const {
302
37.9M
        return bits_ != NotFound;
303
37.9M
    }
304
305
9
    bool isNonNativeProperty() const {
306
9
        return bits_ == NonNativeProperty;
307
9
    }
308
309
7.08M
    bool isDenseOrTypedArrayElement() const {
310
7.08M
        return bits_ == DenseOrTypedArrayElement;
311
7.08M
    }
312
313
14
    bool isNativeProperty() const {
314
14
        return isFound() && !isNonNativeProperty();
315
14
    }
316
317
95
    js::Shape* maybeShape() const {
318
95
        MOZ_ASSERT(!isNonNativeProperty());
319
95
        return isFound() ? shape_ : nullptr;
320
95
    }
321
322
10.3M
    js::Shape* shape() const {
323
10.3M
        MOZ_ASSERT(isNativeProperty());
324
10.3M
        return shape_;
325
10.3M
    }
326
327
25.9M
    void setNotFound() {
328
25.9M
        bits_ = NotFound;
329
25.9M
    }
330
331
10.3M
    void setNativeProperty(js::Shape* propertyShape) {
332
10.3M
        shape_ = propertyShape;
333
10.3M
        MOZ_ASSERT(isNativeProperty());
334
10.3M
    }
335
336
6
    void setNonNativeProperty() {
337
6
        bits_ = NonNativeProperty;
338
6
    }
339
340
36
    void setDenseOrTypedArrayElement() {
341
36
        bits_ = DenseOrTypedArrayElement;
342
36
    }
343
344
    void trace(JSTracer* trc);
345
};
346
347
} // namespace JS
348
349
namespace js {
350
351
template <class Wrapper>
352
class WrappedPtrOperations<JS::PropertyResult, Wrapper>
353
{
354
55.2M
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Handle<JS::PropertyResult> >::value() const
Line
Count
Source
354
6.43M
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Rooted<JS::PropertyResult> >::value() const
Line
Count
Source
354
27.7M
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::value() const
Line
Count
Source
354
20.9M
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::value() const
Line
Count
Source
354
28.2k
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeRooted<JS::PropertyResult> >::value() const
Line
Count
Source
354
70
    const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
355
356
  public:
357
11
    bool isFound() const { return value().isFound(); }
358
37.8M
    explicit operator bool() const { return bool(value()); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Rooted<JS::PropertyResult> >::operator bool() const
Line
Count
Source
358
13.5M
    explicit operator bool() const { return bool(value()); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Handle<JS::PropertyResult> >::operator bool() const
Line
Count
Source
358
3.21M
    explicit operator bool() const { return bool(value()); }
js::WrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::operator bool() const
Line
Count
Source
358
20.9M
    explicit operator bool() const { return bool(value()); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::operator bool() const
Line
Count
Source
358
28.2k
    explicit operator bool() const { return bool(value()); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeRooted<JS::PropertyResult> >::operator bool() const
Line
Count
Source
358
36
    explicit operator bool() const { return bool(value()); }
359
    js::Shape* maybeShape() const { return value().maybeShape(); }
360
10.3M
    js::Shape* shape() const { return value().shape(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Handle<JS::PropertyResult> >::shape() const
Line
Count
Source
360
3.21M
    js::Shape* shape() const { return value().shape(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Rooted<JS::PropertyResult> >::shape() const
Line
Count
Source
360
7.08M
    js::Shape* shape() const { return value().shape(); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeRooted<JS::PropertyResult> >::shape() const
Line
Count
Source
360
1
    js::Shape* shape() const { return value().shape(); }
361
    bool isNativeProperty() const { return value().isNativeProperty(); }
362
0
    bool isNonNativeProperty() const { return value().isNonNativeProperty(); }
363
7.08M
    bool isDenseOrTypedArrayElement() const { return value().isDenseOrTypedArrayElement(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Handle<JS::PropertyResult> >::isDenseOrTypedArrayElement() const
Line
Count
Source
363
297
    bool isDenseOrTypedArrayElement() const { return value().isDenseOrTypedArrayElement(); }
js::WrappedPtrOperations<JS::PropertyResult, JS::Rooted<JS::PropertyResult> >::isDenseOrTypedArrayElement() const
Line
Count
Source
363
7.08M
    bool isDenseOrTypedArrayElement() const { return value().isDenseOrTypedArrayElement(); }
js::WrappedPtrOperations<JS::PropertyResult, js::FakeRooted<JS::PropertyResult> >::isDenseOrTypedArrayElement() const
Line
Count
Source
363
33
    bool isDenseOrTypedArrayElement() const { return value().isDenseOrTypedArrayElement(); }
364
    js::Shape* asTaggedShape() const { return value().asTaggedShape(); }
365
};
366
367
template <class Wrapper>
368
class MutableWrappedPtrOperations<JS::PropertyResult, Wrapper>
369
  : public WrappedPtrOperations<JS::PropertyResult, Wrapper>
370
{
371
36.3M
    JS::PropertyResult& value() { return static_cast<Wrapper*>(this)->get(); }
js::MutableWrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::value()
Line
Count
Source
371
36.1M
    JS::PropertyResult& value() { return static_cast<Wrapper*>(this)->get(); }
js::MutableWrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::value()
Line
Count
Source
371
197k
    JS::PropertyResult& value() { return static_cast<Wrapper*>(this)->get(); }
372
373
  public:
374
25.9M
    void setNotFound() {
375
25.9M
        value().setNotFound();
376
25.9M
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::setNotFound()
Line
Count
Source
374
25.8M
    void setNotFound() {
375
25.8M
        value().setNotFound();
376
25.8M
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::setNotFound()
Line
Count
Source
374
169k
    void setNotFound() {
375
169k
        value().setNotFound();
376
169k
    }
377
10.3M
    void setNativeProperty(js::Shape* shape) {
378
10.3M
        value().setNativeProperty(shape);
379
10.3M
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::setNativeProperty(js::Shape*)
Line
Count
Source
377
10.3M
    void setNativeProperty(js::Shape* shape) {
378
10.3M
        value().setNativeProperty(shape);
379
10.3M
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::setNativeProperty(js::Shape*)
Line
Count
Source
377
28.2k
    void setNativeProperty(js::Shape* shape) {
378
28.2k
        value().setNativeProperty(shape);
379
28.2k
    }
380
0
    void setNonNativeProperty() {
381
0
        value().setNonNativeProperty();
382
0
    }
383
36
    void setDenseOrTypedArrayElement() {
384
36
        value().setDenseOrTypedArrayElement();
385
36
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, JS::MutableHandle<JS::PropertyResult> >::setDenseOrTypedArrayElement()
Line
Count
Source
383
4
    void setDenseOrTypedArrayElement() {
384
4
        value().setDenseOrTypedArrayElement();
385
4
    }
js::MutableWrappedPtrOperations<JS::PropertyResult, js::FakeMutableHandle<JS::PropertyResult> >::setDenseOrTypedArrayElement()
Line
Count
Source
383
32
    void setDenseOrTypedArrayElement() {
384
32
        value().setDenseOrTypedArrayElement();
385
32
    }
386
};
387
388
} // namespace js
389
390
// JSClass operation signatures.
391
392
/**
393
 * Get a property named by id in obj.  Note the jsid id type -- id may
394
 * be a string (Unicode property identifier) or an int (element index).  The
395
 * *vp out parameter, on success, is the new property value after the action.
396
 */
397
typedef bool
398
(* JSGetterOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
399
               JS::MutableHandleValue vp);
400
401
/** Add a property named by id to obj. */
402
typedef bool
403
(* JSAddPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v);
404
405
/**
406
 * Set a property named by id in obj, treating the assignment as strict
407
 * mode code if strict is true. Note the jsid id type -- id may be a string
408
 * (Unicode property identifier) or an int (element index).
409
 */
410
typedef bool
411
(* JSSetterOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
412
               JS::HandleValue v, JS::ObjectOpResult& result);
413
414
/**
415
 * Delete a property named by id in obj.
416
 *
417
 * If an error occurred, return false as per normal JSAPI error practice.
418
 *
419
 * If no error occurred, but the deletion attempt wasn't allowed (perhaps
420
 * because the property was non-configurable), call result.fail() and
421
 * return true.  This will cause |delete obj[id]| to evaluate to false in
422
 * non-strict mode code, and to throw a TypeError in strict mode code.
423
 *
424
 * If no error occurred and the deletion wasn't disallowed (this is *not* the
425
 * same as saying that a deletion actually occurred -- deleting a non-existent
426
 * property, or an inherited property, is allowed -- it's just pointless),
427
 * call result.succeed() and return true.
428
 */
429
typedef bool
430
(* JSDeletePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
431
                       JS::ObjectOpResult& result);
432
433
/**
434
 * The type of ObjectOps::enumerate. This callback overrides a portion of
435
 * SpiderMonkey's default [[Enumerate]] internal method. When an ordinary object
436
 * is enumerated, that object and each object on its prototype chain is tested
437
 * for an enumerate op, and those ops are called in order. The properties each
438
 * op adds to the 'properties' vector are added to the set of values the for-in
439
 * loop will iterate over. All of this is nonstandard.
440
 *
441
 * An object is "enumerated" when it's the target of a for-in loop or
442
 * JS_Enumerate(). The callback's job is to populate 'properties' with the
443
 * object's property keys. If `enumerableOnly` is true, the callback should only
444
 * add enumerable properties.
445
 */
446
typedef bool
447
(* JSNewEnumerateOp)(JSContext* cx, JS::HandleObject obj, JS::AutoIdVector& properties,
448
                     bool enumerableOnly);
449
450
/**
451
 * The old-style JSClass.enumerate op should define all lazy properties not
452
 * yet reflected in obj.
453
 */
454
typedef bool
455
(* JSEnumerateOp)(JSContext* cx, JS::HandleObject obj);
456
457
/**
458
 * The type of ObjectOps::funToString.  This callback allows an object to
459
 * provide a custom string to use when Function.prototype.toString is invoked on
460
 * that object.  A null return value means OOM.
461
 */
462
typedef JSString*
463
(* JSFunToStringOp)(JSContext* cx, JS::HandleObject obj, bool isToSource);
464
465
/**
466
 * Resolve a lazy property named by id in obj by defining it directly in obj.
467
 * Lazy properties are those reflected from some peer native property space
468
 * (e.g., the DOM attributes for a given node reflected as obj) on demand.
469
 *
470
 * JS looks for a property in an object, and if not found, tries to resolve
471
 * the given id. *resolvedp should be set to true iff the property was defined
472
 * on |obj|.
473
 */
474
typedef bool
475
(* JSResolveOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
476
                bool* resolvedp);
477
478
/**
479
 * A class with a resolve hook can optionally have a mayResolve hook. This hook
480
 * must have no side effects and must return true for a given id if the resolve
481
 * hook may resolve this id. This is useful when we're doing a "pure" lookup: if
482
 * mayResolve returns false, we know we don't have to call the effectful resolve
483
 * hook.
484
 *
485
 * maybeObj, if non-null, is the object on which we're doing the lookup. This
486
 * can be nullptr: during JIT compilation we sometimes know the Class but not
487
 * the object.
488
 */
489
typedef bool
490
(* JSMayResolveOp)(const JSAtomState& names, jsid id, JSObject* maybeObj);
491
492
/**
493
 * Finalize obj, which the garbage collector has determined to be unreachable
494
 * from other live objects or from GC roots.  Obviously, finalizers must never
495
 * store a reference to obj.
496
 */
497
typedef void
498
(* JSFinalizeOp)(JSFreeOp* fop, JSObject* obj);
499
500
/**
501
 * Check whether v is an instance of obj.  Return false on error or exception,
502
 * true on success with true in *bp if v is an instance of obj, false in
503
 * *bp otherwise.
504
 */
505
typedef bool
506
(* JSHasInstanceOp)(JSContext* cx, JS::HandleObject obj, JS::MutableHandleValue vp,
507
                    bool* bp);
508
509
/**
510
 * Function type for trace operation of the class called to enumerate all
511
 * traceable things reachable from obj's private data structure. For each such
512
 * thing, a trace implementation must call JS::TraceEdge on the thing's
513
 * location.
514
 *
515
 * JSTraceOp implementation can assume that no other threads mutates object
516
 * state. It must not change state of the object or corresponding native
517
 * structures. The only exception for this rule is the case when the embedding
518
 * needs a tight integration with GC. In that case the embedding can check if
519
 * the traversal is a part of the marking phase through calling
520
 * JS_IsGCMarkingTracer and apply a special code like emptying caches or
521
 * marking its native structures.
522
 */
523
typedef void
524
(* JSTraceOp)(JSTracer* trc, JSObject* obj);
525
526
typedef JSObject*
527
(* JSWeakmapKeyDelegateOp)(JSObject* obj);
528
529
typedef size_t
530
(* JSObjectMovedOp)(JSObject* obj, JSObject* old);
531
532
/* js::Class operation signatures. */
533
534
namespace js {
535
536
typedef bool
537
(* LookupPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
538
                     JS::MutableHandleObject objp, JS::MutableHandle<JS::PropertyResult> propp);
539
typedef bool
540
(* DefinePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
541
                     JS::Handle<JS::PropertyDescriptor> desc,
542
                     JS::ObjectOpResult& result);
543
typedef bool
544
(* HasPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, bool* foundp);
545
typedef bool
546
(* GetPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleValue receiver, JS::HandleId id,
547
                  JS::MutableHandleValue vp);
548
typedef bool
549
(* SetPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v,
550
                  JS::HandleValue receiver, JS::ObjectOpResult& result);
551
typedef bool
552
(* GetOwnPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
553
                     JS::MutableHandle<JS::PropertyDescriptor> desc);
554
typedef bool
555
(* DeletePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
556
                     JS::ObjectOpResult& result);
557
558
class JS_FRIEND_API(ElementAdder)
559
{
560
  public:
561
    enum GetBehavior {
562
        // Check if the element exists before performing the Get and preserve
563
        // holes.
564
        CheckHasElemPreserveHoles,
565
566
        // Perform a Get operation, like obj[index] in JS.
567
        GetElement
568
    };
569
570
  private:
571
    // Only one of these is used.
572
    JS::RootedObject resObj_;
573
    JS::Value* vp_;
574
575
    uint32_t index_;
576
#ifdef DEBUG
577
    uint32_t length_;
578
#endif
579
    GetBehavior getBehavior_;
580
581
  public:
582
    ElementAdder(JSContext* cx, JSObject* obj, uint32_t length, GetBehavior behavior)
583
      : resObj_(cx, obj), vp_(nullptr), index_(0),
584
#ifdef DEBUG
585
        length_(length),
586
#endif
587
        getBehavior_(behavior)
588
0
    {}
589
    ElementAdder(JSContext* cx, JS::Value* vp, uint32_t length, GetBehavior behavior)
590
      : resObj_(cx), vp_(vp), index_(0),
591
#ifdef DEBUG
592
        length_(length),
593
#endif
594
        getBehavior_(behavior)
595
0
    {}
596
597
0
    GetBehavior getBehavior() const { return getBehavior_; }
598
599
    bool append(JSContext* cx, JS::HandleValue v);
600
    void appendHole();
601
};
602
603
typedef bool
604
(* GetElementsOp)(JSContext* cx, JS::HandleObject obj, uint32_t begin, uint32_t end,
605
                  ElementAdder* adder);
606
607
typedef void
608
(* FinalizeOp)(FreeOp* fop, JSObject* obj);
609
610
// The special treatment of |finalize| and |trace| is necessary because if we
611
// assign either of those hooks to a local variable and then call it -- as is
612
// done with the other hooks -- the GC hazard analysis gets confused.
613
#define JS_CLASS_MEMBERS(ClassOpsType, FreeOpType) \
614
    const char* name; \
615
    uint32_t flags; \
616
    const ClassOpsType* cOps; \
617
    \
618
3.25M
    JSAddPropertyOp    getAddProperty() const { return cOps ? cOps->addProperty : nullptr; } \
Unexecuted instantiation: JSClass::getAddProperty() const
js::Class::getAddProperty() const
Line
Count
Source
618
3.25M
    JSAddPropertyOp    getAddProperty() const { return cOps ? cOps->addProperty : nullptr; } \
619
0
    JSDeletePropertyOp getDelProperty() const { return cOps ? cOps->delProperty : nullptr; } \
Unexecuted instantiation: JSClass::getDelProperty() const
Unexecuted instantiation: js::Class::getDelProperty() const
620
10
    JSEnumerateOp      getEnumerate()   const { return cOps ? cOps->enumerate   : nullptr; } \
Unexecuted instantiation: JSClass::getEnumerate() const
js::Class::getEnumerate() const
Line
Count
Source
620
10
    JSEnumerateOp      getEnumerate()   const { return cOps ? cOps->enumerate   : nullptr; } \
621
10
    JSNewEnumerateOp   getNewEnumerate()const { return cOps ? cOps->newEnumerate: nullptr; } \
Unexecuted instantiation: JSClass::getNewEnumerate() const
js::Class::getNewEnumerate() const
Line
Count
Source
621
10
    JSNewEnumerateOp   getNewEnumerate()const { return cOps ? cOps->newEnumerate: nullptr; } \
622
21.1M
    JSResolveOp        getResolve()     const { return cOps ? cOps->resolve     : nullptr; } \
Unexecuted instantiation: JSClass::getResolve() const
js::Class::getResolve() const
Line
Count
Source
622
21.1M
    JSResolveOp        getResolve()     const { return cOps ? cOps->resolve     : nullptr; } \
623
724
    JSMayResolveOp     getMayResolve()  const { return cOps ? cOps->mayResolve  : nullptr; } \
Unexecuted instantiation: JSClass::getMayResolve() const
js::Class::getMayResolve() const
Line
Count
Source
623
724
    JSMayResolveOp     getMayResolve()  const { return cOps ? cOps->mayResolve  : nullptr; } \
624
6
    JSNative           getCall()        const { return cOps ? cOps->call        : nullptr; } \
Unexecuted instantiation: JSClass::getCall() const
js::Class::getCall() const
Line
Count
Source
624
6
    JSNative           getCall()        const { return cOps ? cOps->call        : nullptr; } \
625
1
    JSHasInstanceOp    getHasInstance() const { return cOps ? cOps->hasInstance : nullptr; } \
Unexecuted instantiation: JSClass::getHasInstance() const
js::Class::getHasInstance() const
Line
Count
Source
625
1
    JSHasInstanceOp    getHasInstance() const { return cOps ? cOps->hasInstance : nullptr; } \
626
0
    JSNative           getConstruct()   const { return cOps ? cOps->construct   : nullptr; } \
Unexecuted instantiation: JSClass::getConstruct() const
Unexecuted instantiation: js::Class::getConstruct() const
627
    \
628
15.9M
    bool hasFinalize() const { return cOps && cOps->finalize; } \
Unexecuted instantiation: JSClass::hasFinalize() const
js::Class::hasFinalize() const
Line
Count
Source
628
15.9M
    bool hasFinalize() const { return cOps && cOps->finalize; } \
629
12.8k
    bool hasTrace()    const { return cOps && cOps->trace;    } \
Unexecuted instantiation: JSClass::hasTrace() const
js::Class::hasTrace() const
Line
Count
Source
629
12.8k
    bool hasTrace()    const { return cOps && cOps->trace;    } \
630
    \
631
8.73k
    bool isTrace(JSTraceOp trace) const { return cOps && cOps->trace == trace; } \
Unexecuted instantiation: JSClass::isTrace(void (*)(JSTracer*, JSObject*)) const
js::Class::isTrace(void (*)(JSTracer*, JSObject*)) const
Line
Count
Source
631
8.73k
    bool isTrace(JSTraceOp trace) const { return cOps && cOps->trace == trace; } \
632
    \
633
4.66M
    void doFinalize(FreeOpType* fop, JSObject* obj) const { \
634
4.66M
        MOZ_ASSERT(cOps && cOps->finalize); \
635
4.66M
        cOps->finalize(fop, obj); \
636
4.66M
    } \
Unexecuted instantiation: JSClass::doFinalize(JSFreeOp*, JSObject*) const
js::Class::doFinalize(js::FreeOp*, JSObject*) const
Line
Count
Source
633
4.66M
    void doFinalize(FreeOpType* fop, JSObject* obj) const { \
634
4.66M
        MOZ_ASSERT(cOps && cOps->finalize); \
635
4.66M
        cOps->finalize(fop, obj); \
636
4.66M
    } \
637
8.71k
    void doTrace(JSTracer* trc, JSObject* obj) const { \
638
8.71k
        MOZ_ASSERT(cOps && cOps->trace); \
639
8.71k
        cOps->trace(trc, obj); \
640
8.71k
    }
Unexecuted instantiation: JSClass::doTrace(JSTracer*, JSObject*) const
js::Class::doTrace(JSTracer*, JSObject*) const
Line
Count
Source
637
8.71k
    void doTrace(JSTracer* trc, JSObject* obj) const { \
638
8.71k
        MOZ_ASSERT(cOps && cOps->trace); \
639
8.71k
        cOps->trace(trc, obj); \
640
8.71k
    }
641
642
struct MOZ_STATIC_CLASS ClassOps
643
{
644
    /* Function pointer members (may be null). */
645
    JSAddPropertyOp     addProperty;
646
    JSDeletePropertyOp  delProperty;
647
    JSEnumerateOp       enumerate;
648
    JSNewEnumerateOp    newEnumerate;
649
    JSResolveOp         resolve;
650
    JSMayResolveOp      mayResolve;
651
    FinalizeOp          finalize;
652
    JSNative            call;
653
    JSHasInstanceOp     hasInstance;
654
    JSNative            construct;
655
    JSTraceOp           trace;
656
};
657
658
/** Callback for the creation of constructor and prototype objects. */
659
typedef JSObject* (*ClassObjectCreationOp)(JSContext* cx, JSProtoKey key);
660
661
/** Callback for custom post-processing after class initialization via ClassSpec. */
662
typedef bool (*FinishClassInitOp)(JSContext* cx, JS::HandleObject ctor,
663
                                  JS::HandleObject proto);
664
665
const size_t JSCLASS_CACHED_PROTO_WIDTH = 6;
666
667
struct MOZ_STATIC_CLASS ClassSpec
668
{
669
    ClassObjectCreationOp createConstructor;
670
    ClassObjectCreationOp createPrototype;
671
    const JSFunctionSpec* constructorFunctions;
672
    const JSPropertySpec* constructorProperties;
673
    const JSFunctionSpec* prototypeFunctions;
674
    const JSPropertySpec* prototypeProperties;
675
    FinishClassInitOp finishInit;
676
    uintptr_t flags;
677
678
    static const size_t ProtoKeyWidth = JSCLASS_CACHED_PROTO_WIDTH;
679
680
    static const uintptr_t ProtoKeyMask = (1 << ProtoKeyWidth) - 1;
681
    static const uintptr_t DontDefineConstructor = 1 << ProtoKeyWidth;
682
683
22
    bool defined() const { return !!createConstructor; }
684
685
    // The ProtoKey this class inherits from.
686
3
    JSProtoKey inheritanceProtoKey() const {
687
3
        MOZ_ASSERT(defined());
688
3
        static_assert(JSProto_Null == 0, "zeroed key must be null");
689
3
690
3
        // Default: Inherit from Object.
691
3
        if (!(flags & ProtoKeyMask)) {
692
3
            return JSProto_Object;
693
3
        }
694
0
695
0
        return JSProtoKey(flags & ProtoKeyMask);
696
0
    }
697
698
19
    bool shouldDefineConstructor() const {
699
19
        MOZ_ASSERT(defined());
700
19
        return !(flags & DontDefineConstructor);
701
19
    }
702
};
703
704
struct MOZ_STATIC_CLASS ClassExtension
705
{
706
    /**
707
     * If an object is used as a key in a weakmap, it may be desirable for the
708
     * garbage collector to keep that object around longer than it otherwise
709
     * would. A common case is when the key is a wrapper around an object in
710
     * another compartment, and we want to avoid collecting the wrapper (and
711
     * removing the weakmap entry) as long as the wrapped object is alive. In
712
     * that case, the wrapped object is returned by the wrapper's
713
     * weakmapKeyDelegateOp hook. As long as the wrapper is used as a weakmap
714
     * key, it will not be collected (and remain in the weakmap) until the
715
     * wrapped object is collected.
716
     */
717
    JSWeakmapKeyDelegateOp weakmapKeyDelegateOp;
718
719
    /**
720
     * Optional hook called when an object is moved by generational or
721
     * compacting GC.
722
     *
723
     * There may exist weak pointers to an object that are not traced through
724
     * when the normal trace APIs are used, for example objects in the wrapper
725
     * cache. This hook allows these pointers to be updated.
726
     *
727
     * Note that this hook can be called before JS_NewObject() returns if a GC
728
     * is triggered during construction of the object. This can happen for
729
     * global objects for example.
730
     *
731
     * The function should return the difference between nursery bytes used and
732
     * tenured bytes used, which may be nonzero e.g. if some nursery-allocated
733
     * data beyond the actual GC thing is moved into malloced memory.
734
     *
735
     * This is used to compute the nursery promotion rate.
736
     */
737
    JSObjectMovedOp objectMovedOp;
738
};
739
740
#define JS_NULL_CLASS_SPEC  nullptr
741
#define JS_NULL_CLASS_EXT   nullptr
742
743
struct MOZ_STATIC_CLASS ObjectOps
744
{
745
    LookupPropertyOp lookupProperty;
746
    DefinePropertyOp defineProperty;
747
    HasPropertyOp    hasProperty;
748
    GetPropertyOp    getProperty;
749
    SetPropertyOp    setProperty;
750
    GetOwnPropertyOp getOwnPropertyDescriptor;
751
    DeletePropertyOp deleteProperty;
752
    GetElementsOp    getElements;
753
    JSFunToStringOp  funToString;
754
};
755
756
#define JS_NULL_OBJECT_OPS nullptr
757
758
} // namespace js
759
760
// Classes, objects, and properties.
761
762
typedef void (*JSClassInternal)();
763
764
struct MOZ_STATIC_CLASS JSClassOps
765
{
766
    /* Function pointer members (may be null). */
767
    JSAddPropertyOp     addProperty;
768
    JSDeletePropertyOp  delProperty;
769
    JSEnumerateOp       enumerate;
770
    JSNewEnumerateOp    newEnumerate;
771
    JSResolveOp         resolve;
772
    JSMayResolveOp      mayResolve;
773
    JSFinalizeOp        finalize;
774
    JSNative            call;
775
    JSHasInstanceOp     hasInstance;
776
    JSNative            construct;
777
    JSTraceOp           trace;
778
};
779
780
#define JS_NULL_CLASS_OPS nullptr
781
782
struct JSClass {
783
    JS_CLASS_MEMBERS(JSClassOps, JSFreeOp);
784
785
    void* reserved[3];
786
};
787
788
// Objects have private slot.
789
static const uint32_t JSCLASS_HAS_PRIVATE = 1 << 0;
790
791
// Class's initialization code will call `SetNewObjectMetadata` itself.
792
static const uint32_t JSCLASS_DELAY_METADATA_BUILDER = 1 << 1;
793
794
// Class is an XPCWrappedNative. WeakMaps use this to override the wrapper
795
// disposal mechanism.
796
static const uint32_t JSCLASS_IS_WRAPPED_NATIVE = 1 << 2;
797
798
// Private is `nsISupports*`.
799
static const uint32_t JSCLASS_PRIVATE_IS_NSISUPPORTS = 1 << 3;
800
801
// Objects are DOM.
802
static const uint32_t JSCLASS_IS_DOMJSCLASS = 1 << 4;
803
804
// If wrapped by an xray wrapper, the builtin class's constructor won't be
805
// unwrapped and invoked. Instead, the constructor is resolved in the caller's
806
// compartment and invoked with a wrapped newTarget. The constructor has to
807
// detect and handle this situation. See PromiseConstructor for details.
808
static const uint32_t JSCLASS_HAS_XRAYED_CONSTRUCTOR = 1 << 5;
809
810
// Objects of this class act like the value undefined, in some contexts.
811
static const uint32_t JSCLASS_EMULATES_UNDEFINED = 1 << 6;
812
813
// Reserved for embeddings.
814
static const uint32_t JSCLASS_USERBIT1 = 1 << 7;
815
816
// To reserve slots fetched and stored via JS_Get/SetReservedSlot, bitwise-or
817
// JSCLASS_HAS_RESERVED_SLOTS(n) into the initializer for JSClass.flags, where n
818
// is a constant in [1, 255]. Reserved slots are indexed from 0 to n-1.
819
820
// Room for 8 flags below ...
821
static const uintptr_t JSCLASS_RESERVED_SLOTS_SHIFT = 8;
822
// ... and 16 above this field.
823
static const uint32_t JSCLASS_RESERVED_SLOTS_WIDTH = 8;
824
825
static const uint32_t JSCLASS_RESERVED_SLOTS_MASK = JS_BITMASK(JSCLASS_RESERVED_SLOTS_WIDTH);
826
827
6
#define JSCLASS_HAS_RESERVED_SLOTS(n)   (((n) & JSCLASS_RESERVED_SLOTS_MASK)  \
828
6
                                         << JSCLASS_RESERVED_SLOTS_SHIFT)
829
21.2M
#define JSCLASS_RESERVED_SLOTS(clasp)   (((clasp)->flags                      \
830
21.2M
                                          >> JSCLASS_RESERVED_SLOTS_SHIFT)    \
831
21.2M
                                         & JSCLASS_RESERVED_SLOTS_MASK)
832
833
#define JSCLASS_HIGH_FLAGS_SHIFT        (JSCLASS_RESERVED_SLOTS_SHIFT +       \
834
                                         JSCLASS_RESERVED_SLOTS_WIDTH)
835
836
static const uint32_t JSCLASS_IS_ANONYMOUS =            1 << (JSCLASS_HIGH_FLAGS_SHIFT + 0);
837
static const uint32_t JSCLASS_IS_GLOBAL =               1 << (JSCLASS_HIGH_FLAGS_SHIFT + 1);
838
static const uint32_t JSCLASS_INTERNAL_FLAG2 =          1 << (JSCLASS_HIGH_FLAGS_SHIFT + 2);
839
static const uint32_t JSCLASS_INTERNAL_FLAG3 =          1 << (JSCLASS_HIGH_FLAGS_SHIFT + 3);
840
static const uint32_t JSCLASS_IS_PROXY =                1 << (JSCLASS_HIGH_FLAGS_SHIFT + 4);
841
static const uint32_t JSCLASS_SKIP_NURSERY_FINALIZE =   1 << (JSCLASS_HIGH_FLAGS_SHIFT + 5);
842
843
// Reserved for embeddings.
844
static const uint32_t JSCLASS_USERBIT2 =                1 << (JSCLASS_HIGH_FLAGS_SHIFT + 6);
845
static const uint32_t JSCLASS_USERBIT3 =                1 << (JSCLASS_HIGH_FLAGS_SHIFT + 7);
846
847
static const uint32_t JSCLASS_BACKGROUND_FINALIZE =     1 << (JSCLASS_HIGH_FLAGS_SHIFT + 8);
848
static const uint32_t JSCLASS_FOREGROUND_FINALIZE =     1 << (JSCLASS_HIGH_FLAGS_SHIFT + 9);
849
850
// Bits 26 through 31 are reserved for the CACHED_PROTO_KEY mechanism, see
851
// below.
852
853
// ECMA-262 requires that most constructors used internally create objects
854
// with "the original Foo.prototype value" as their [[Prototype]] (__proto__)
855
// member initial value.  The "original ... value" verbiage is there because
856
// in ECMA-262, global properties naming class objects are read/write and
857
// deleteable, for the most part.
858
//
859
// Implementing this efficiently requires that global objects have classes
860
// with the following flags. Failure to use JSCLASS_GLOBAL_FLAGS was
861
// previously allowed, but is now an ES5 violation and thus unsupported.
862
//
863
// JSCLASS_GLOBAL_APPLICATION_SLOTS is the number of slots reserved at
864
// the beginning of every global object's slots for use by the
865
// application.
866
static const uint32_t JSCLASS_GLOBAL_APPLICATION_SLOTS = 5;
867
static const uint32_t JSCLASS_GLOBAL_SLOT_COUNT =
868
    JSCLASS_GLOBAL_APPLICATION_SLOTS + JSProto_LIMIT * 2 + 36;
869
870
#define JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(n)                              \
871
6
    (JSCLASS_IS_GLOBAL | JSCLASS_HAS_RESERVED_SLOTS(JSCLASS_GLOBAL_SLOT_COUNT + (n)))
872
#define JSCLASS_GLOBAL_FLAGS                                                  \
873
3
    JSCLASS_GLOBAL_FLAGS_WITH_SLOTS(0)
874
#define JSCLASS_HAS_GLOBAL_FLAG_AND_SLOTS(clasp)                              \
875
  (((clasp)->flags & JSCLASS_IS_GLOBAL)                                       \
876
   && JSCLASS_RESERVED_SLOTS(clasp) >= JSCLASS_GLOBAL_SLOT_COUNT)
877
878
// Fast access to the original value of each standard class's prototype.
879
static const uint32_t JSCLASS_CACHED_PROTO_SHIFT = JSCLASS_HIGH_FLAGS_SHIFT + 10;
880
static const uint32_t JSCLASS_CACHED_PROTO_MASK = JS_BITMASK(js::JSCLASS_CACHED_PROTO_WIDTH);
881
882
#define JSCLASS_HAS_CACHED_PROTO(key)   (uint32_t(key) << JSCLASS_CACHED_PROTO_SHIFT)
883
3.25M
#define JSCLASS_CACHED_PROTO_KEY(clasp) ((JSProtoKey)                         \
884
3.25M
                                         (((clasp)->flags                     \
885
3.25M
                                           >> JSCLASS_CACHED_PROTO_SHIFT)     \
886
3.25M
                                          & JSCLASS_CACHED_PROTO_MASK))
887
888
// Initializer for unused members of statically initialized JSClass structs.
889
#define JSCLASS_NO_INTERNAL_MEMBERS     {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
890
#define JSCLASS_NO_OPTIONAL_MEMBERS     0,0,0,0,0,JSCLASS_NO_INTERNAL_MEMBERS
891
892
namespace js {
893
894
struct MOZ_STATIC_CLASS Class
895
{
896
    JS_CLASS_MEMBERS(js::ClassOps, FreeOp);
897
    const ClassSpec* spec;
898
    const ClassExtension* ext;
899
    const ObjectOps* oOps;
900
901
    /*
902
     * Objects of this class aren't native objects. They don't have Shapes that
903
     * describe their properties and layout. Classes using this flag must
904
     * provide their own property behavior, either by being proxy classes (do
905
     * this) or by overriding all the ObjectOps except getElements
906
     * (don't do this).
907
     */
908
    static const uint32_t NON_NATIVE = JSCLASS_INTERNAL_FLAG2;
909
910
46.8M
    bool isNative() const {
911
46.8M
        return !(flags & NON_NATIVE);
912
46.8M
    }
913
914
3.28M
    bool hasPrivate() const {
915
3.28M
        return !!(flags & JSCLASS_HAS_PRIVATE);
916
3.28M
    }
917
918
61
    bool emulatesUndefined() const {
919
61
        return flags & JSCLASS_EMULATES_UNDEFINED;
920
61
    }
921
922
6.54M
    bool isJSFunction() const {
923
6.54M
        return this == js::FunctionClassPtr;
924
6.54M
    }
925
926
0
    bool nonProxyCallable() const {
927
0
        MOZ_ASSERT(!isProxy());
928
0
        return isJSFunction() || getCall();
929
0
    }
930
931
63.4M
    bool isProxy() const {
932
63.4M
        return flags & JSCLASS_IS_PROXY;
933
63.4M
    }
934
935
20
    bool isDOMClass() const {
936
20
        return flags & JSCLASS_IS_DOMJSCLASS;
937
20
    }
938
939
4.87M
    bool shouldDelayMetadataBuilder() const {
940
4.87M
        return flags & JSCLASS_DELAY_METADATA_BUILDER;
941
4.87M
    }
942
943
17.8M
    bool isWrappedNative() const {
944
17.8M
        return flags & JSCLASS_IS_WRAPPED_NATIVE;
945
17.8M
    }
946
947
36
    static size_t offsetOfFlags() { return offsetof(Class, flags); }
948
949
22
    bool specDefined()         const { return spec ? spec->defined()   : false; }
950
    JSProtoKey specInheritanceProtoKey()
951
3
                               const { return spec ? spec->inheritanceProtoKey() : JSProto_Null; }
952
    bool specShouldDefineConstructor()
953
19
                               const { return spec ? spec->shouldDefineConstructor() : true; }
954
    ClassObjectCreationOp specCreateConstructorHook()
955
31
                               const { return spec ? spec->createConstructor        : nullptr; }
956
    ClassObjectCreationOp specCreatePrototypeHook()
957
31
                               const { return spec ? spec->createPrototype          : nullptr; }
958
    const JSFunctionSpec* specConstructorFunctions()
959
13
                               const { return spec ? spec->constructorFunctions     : nullptr; }
960
    const JSPropertySpec* specConstructorProperties()
961
13
                               const { return spec ? spec->constructorProperties    : nullptr; }
962
    const JSFunctionSpec* specPrototypeFunctions()
963
13
                               const { return spec ? spec->prototypeFunctions       : nullptr; }
964
    const JSPropertySpec* specPrototypeProperties()
965
13
                               const { return spec ? spec->prototypeProperties      : nullptr; }
966
    FinishClassInitOp specFinishInitHook()
967
19
                               const { return spec ? spec->finishInit               : nullptr; }
968
969
    JSWeakmapKeyDelegateOp extWeakmapKeyDelegateOp()
970
0
                               const { return ext ? ext->weakmapKeyDelegateOp        : nullptr; }
971
    JSObjectMovedOp extObjectMovedOp()
972
340
                               const { return ext ? ext->objectMovedOp               : nullptr; }
973
974
12.9M
    LookupPropertyOp getOpsLookupProperty() const { return oOps ? oOps->lookupProperty : nullptr; }
975
3.25M
    DefinePropertyOp getOpsDefineProperty() const { return oOps ? oOps->defineProperty : nullptr; }
976
83
    HasPropertyOp    getOpsHasProperty()    const { return oOps ? oOps->hasProperty    : nullptr; }
977
10.3M
    GetPropertyOp    getOpsGetProperty()    const { return oOps ? oOps->getProperty    : nullptr; }
978
112
    SetPropertyOp    getOpsSetProperty()    const { return oOps ? oOps->setProperty    : nullptr; }
979
    GetOwnPropertyOp getOpsGetOwnPropertyDescriptor()
980
14
                                            const { return oOps ? oOps->getOwnPropertyDescriptor
981
14
                                                                                     : nullptr; }
982
0
    DeletePropertyOp getOpsDeleteProperty() const { return oOps ? oOps->deleteProperty : nullptr; }
983
0
    GetElementsOp    getOpsGetElements()    const { return oOps ? oOps->getElements    : nullptr; }
984
0
    JSFunToStringOp  getOpsFunToString()    const { return oOps ? oOps->funToString    : nullptr; }
985
};
986
987
static_assert(offsetof(JSClassOps, addProperty) == offsetof(ClassOps, addProperty),
988
              "ClassOps and JSClassOps must be consistent");
989
static_assert(offsetof(JSClassOps, delProperty) == offsetof(ClassOps, delProperty),
990
              "ClassOps and JSClassOps must be consistent");
991
static_assert(offsetof(JSClassOps, enumerate) == offsetof(ClassOps, enumerate),
992
              "ClassOps and JSClassOps must be consistent");
993
static_assert(offsetof(JSClassOps, newEnumerate) == offsetof(ClassOps, newEnumerate),
994
              "ClassOps and JSClassOps must be consistent");
995
static_assert(offsetof(JSClassOps, resolve) == offsetof(ClassOps, resolve),
996
              "ClassOps and JSClassOps must be consistent");
997
static_assert(offsetof(JSClassOps, mayResolve) == offsetof(ClassOps, mayResolve),
998
              "ClassOps and JSClassOps must be consistent");
999
static_assert(offsetof(JSClassOps, finalize) == offsetof(ClassOps, finalize),
1000
              "ClassOps and JSClassOps must be consistent");
1001
static_assert(offsetof(JSClassOps, call) == offsetof(ClassOps, call),
1002
              "ClassOps and JSClassOps must be consistent");
1003
static_assert(offsetof(JSClassOps, construct) == offsetof(ClassOps, construct),
1004
              "ClassOps and JSClassOps must be consistent");
1005
static_assert(offsetof(JSClassOps, hasInstance) == offsetof(ClassOps, hasInstance),
1006
              "ClassOps and JSClassOps must be consistent");
1007
static_assert(offsetof(JSClassOps, trace) == offsetof(ClassOps, trace),
1008
              "ClassOps and JSClassOps must be consistent");
1009
static_assert(sizeof(JSClassOps) == sizeof(ClassOps),
1010
              "ClassOps and JSClassOps must be consistent");
1011
1012
static_assert(offsetof(JSClass, name) == offsetof(Class, name),
1013
              "Class and JSClass must be consistent");
1014
static_assert(offsetof(JSClass, flags) == offsetof(Class, flags),
1015
              "Class and JSClass must be consistent");
1016
static_assert(offsetof(JSClass, cOps) == offsetof(Class, cOps),
1017
              "Class and JSClass must be consistent");
1018
static_assert(sizeof(JSClass) == sizeof(Class),
1019
              "Class and JSClass must be consistent");
1020
1021
static MOZ_ALWAYS_INLINE const JSClass*
1022
Jsvalify(const Class* c)
1023
6.49M
{
1024
6.49M
    return (const JSClass*)c;
1025
6.49M
}
Unexecuted instantiation: SandboxBroker.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SandboxBrokerPolicyFactory.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SandboxCrash.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SandboxPrefBridge.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SandboxLaunch.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SandboxReporter.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_certverifier0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_apps0.cpp:js::Jsvalify(js::Class const*)
Unified_cpp_xpcom_base0.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
1.62M
{
1024
1.62M
    return (const JSClass*)c;
1025
1.62M
}
Unexecuted instantiation: Unified_cpp_xpcom_base1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_base2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_ds0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_ds1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_io0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_io1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_components0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: IdleTaskRunner.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: xptdata.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_reflect_xptinfo0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: xptcall.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: xptcinvoke_x86_64_unix.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: xptcstubs_x86_64_linux.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_chrome0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Services.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_build0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_modules_libpref0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: hnjstdio.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_hyphenation_glue0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_intl_locale0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_intl_strres0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_unicharutil_util0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_intl_l10n0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_base1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_base2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_base3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_base4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsCookieService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_cookie0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsEffectiveTLDService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsHostResolver.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_dns0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dns_mdns_libmdns0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_socket0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_converters0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AppCacheStorage.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: CacheStorage.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache20.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache21.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_about0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_data0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_file0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_ftp0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsGIOProtocolHandler.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsHttpChannelAuthProvider.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsHttpHandler.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_http0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_http1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_http2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_res0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_viewsource0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_websocket0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_protocol_wyciwyg0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsNotifyAddrListener_Linux.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DataChannel.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_wifi0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsNetModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsHttpNegotiateAuth.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BackgroundChildImpl.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BackgroundParentImpl.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FileDescriptorSetChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FileDescriptorSetParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ipc_glue0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ipc_glue1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols10.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols12.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols13.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols14.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols15.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols16.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols17.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols18.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols19.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols20.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols21.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols22.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols23.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols24.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols25.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols26.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols27.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols28.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols29.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols30.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols31.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedProtocols9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: IPCMessageTypeName.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestShellChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestShellParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: XPCShellEnvironment.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Hal.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_hal0.cpp:js::Jsvalify(js::Class const*)
XrayWrapper.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
2
{
1024
2
    return (const JSClass*)c;
1025
2
}
Unexecuted instantiation: Unified_cpp_xpconnect_wrappers0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mozJSComponentLoader.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_xpconnect_loader0.cpp:js::Jsvalify(js::Class const*)
Unified_cpp_js_xpconnect_src0.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
32
{
1024
32
    return (const JSClass*)c;
1025
32
}
Unified_cpp_js_xpconnect_src1.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
4.87M
{
1024
4.87M
    return (const JSClass*)c;
1025
4.87M
}
Unexecuted instantiation: Unified_cpp_modules_libjar0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_libjar_zipwriter0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mozStorageBindingParams.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mozStorageConnection.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_storage0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_storage1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mozStorageModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_extensions_cookie0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_permissions0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_src_common0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_src_mediapipeline0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nr_socket_prsock.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nr_timer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nricectx.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nriceresolver.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nriceresolverfake.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: stun_socket_filter.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: test_nr_socket.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: transportflow.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: transportlayer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_media_mtransport_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_uriloader_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsOSHelperAppService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_uriloader_exthandler0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_uriloader_prefetch0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BasePrincipal.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_caps0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_parser_xml0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_parser_htmlparser0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_parser_html0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_parser_html1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_parser_html2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: InlineTranslator.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_ycbcr0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsDeviceContext.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_src0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: GLContextProviderGLX.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: SharedSurfaceGLX.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_gl0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_gl1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ImageContainer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PersistentBufferProvider.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BasicImageLayer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TextureClientX11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: X11BasicCompositor.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: X11TextureSourceBasic.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: X11TextureHost.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ShadowLayerUtilsX11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: X11TextureSourceOGL.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: WebRenderTextureHost.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers10.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_layers9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxFT2FontBase.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxFT2Utils.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxFcPlatformFontList.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxGdkNativeRenderer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxPlatform.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxPlatformGtk.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxPrefs.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_thebes0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_thebes1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: GPUParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VRDisplayHost.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VRDisplayLocal.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxVRExternal.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxVROpenVR.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: gfxVRPuppet.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_vr0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_vr1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_vr_service0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_config0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_webrender_bindings0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsImageModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image_decoders0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsIconChannel.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image_decoders_icon0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsPNGEncoder.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_abort0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_animation0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DOMIntersectionObserver.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsContentUtils.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsDOMWindowUtils.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsFrameMessageManager.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsGlobalWindowInner.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsGlobalWindowOuter.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsImageLoadingContent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsObjectLoadingContent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsPluginArray.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PrototypeList.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RegisterBindings.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RegisterWorkerBindings.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RegisterWorkerDebuggerBindings.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RegisterWorkletBindings.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ResolveSystemBinding.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnionTypes.cpp:js::Jsvalify(js::Class const*)
UnifiedBindings0.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
3
{
1024
3
    return (const JSClass*)c;
1025
3
}
Unexecuted instantiation: UnifiedBindings1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings10.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings12.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings13.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings14.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings15.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings16.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings17.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings18.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings19.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings20.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings21.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings22.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings23.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UnifiedBindings9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: StructuredClone.cpp:js::Jsvalify(js::Class const*)
Unified_cpp_dom_bindings0.cpp:js::Jsvalify(js::Class const*)
Line
Count
Source
1023
3
{
1024
3
    return (const JSClass*)c;
1025
3
}
Unexecuted instantiation: BatteryManager.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BrowserElementParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_cache0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_cache1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ImageUtils.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_webgpu0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_webgpu1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_commandhandler0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_credentialmanagement0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_crypto0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_encoding0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: EventStateManager.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_events0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_events1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_events2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_events3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_fetch0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_file0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_file1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_file_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_file_uri0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_filehandle0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_filesystem0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_filesystem_compat0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_flex0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_gamepad0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PositionError.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsGeolocation.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_grid0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AutoplayPermissionManager.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AutoplayPermissionRequest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PluginDocument.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_html_input0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_jsurl0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AsmJSCache.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_mathml0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: CubebUtils.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DecoderTraits.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media10.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_doctor0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_eme0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_flac0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_media_imagecapture0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RemoteVideoDecoder.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VideoDecoderChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VideoDecoderManagerChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VideoDecoderManagerParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VideoDecoderParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_mediacapabilities0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_mediasink0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_media_mediasource0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_mp30.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_ogg0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_platforms0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_agnostic_eme0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_agnostic_gmp0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_media_platforms_omx0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FFVPXRuntimeLinker.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffvpx0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_platforms_ffmpeg0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav530.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav540.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav550.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffmpeg570.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffmpeg580.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_systemservices0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_wave0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AudioNodeEngineSSE2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_webaudio_blink0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_webm0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: MediaEngineWebRTC.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_webrtc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_webspeech_synth0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_synth_speechd0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_recognition0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: MP4Demuxer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_mp40.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: MediaModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_midi0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_midi1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_notification0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_offline0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_power0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_push0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_quota0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_security0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_storage0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_svg8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_network0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_permission0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsNPAPIPlugin.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsPluginHost.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PluginInstanceChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ActorsParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Key.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_indexedDB0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_indexedDB1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_system0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ContentChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ProcessHangMonitor.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_ipc1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_workers0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_workers1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_audiochannel0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_broadcastchannel0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_messagechannel0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_promise0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_smil0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_smil1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_url0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_webauthn0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xbl0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xbl1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xml0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xml0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xul0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_vr0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_u2f0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_console0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_performance0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_webbrowserpersist0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_xhr0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_worklet0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_script0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_payments0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_payments_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_websocket0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_simpledb0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_prio0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_presentation0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_presentation1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_provider0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_view0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsBaseDragService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsBaseWidget.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsShmImage.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget_headless0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsWindow.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget_gtk0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget_gtk1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_widget_gtk2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_editor_spellchecker0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_editor_composer0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsLayoutStylesheetCache.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_style0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_style1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_style2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_style3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_style4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsRefreshDriver.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_base1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_base2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsPluginFrame.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_generic1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_generic2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_forms0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_forms1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_tables0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_svg0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_svg1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_svg2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_xul0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_xul1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_xul_tree0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_xul_grid0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VsyncChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VsyncParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_mathml0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_mathml1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_inspector0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_painting0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_painting1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_printing0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_build0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_docshell_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_base_timeline0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_docshell_shistory0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsDocShellModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpfe_appshell0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AccessibleWrap.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ApplicationAccessibleWrap.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AtkSocketAccessible.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DOMtoATK.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DocAccessibleWrap.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Platform.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RootAccessibleWrap.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: UtilInterface.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiHyperlink.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceAction.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceComponent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceDocument.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceEditableText.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceHyperlinkImpl.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceHypertext.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceImage.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceSelection.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceTable.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceTableCell.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceText.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsMaiInterfaceValue.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_aom0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_base0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_base1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_generic0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_html0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DocAccessibleChild.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ProxyAccessible.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: xpcAccEvents.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_xpcom0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_accessible_xul0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_tools_profiler0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_hunspell_glue0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_manager_pki0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_components_alerts0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_antitracking0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_ackgroundhangmonitor0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_components_browser0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsWebBrowserModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_clearsitedata0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsCommandLine.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DownloadPlatform.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_extensions0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_webrequest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FinalizationWitnessService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_components_find0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_mediasniffer0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: MozIntlHelper.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: NativeOSFileInternals.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: PerfMeasurement.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_perfmonitoring0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_components_places0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: reflect.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_reputationservice0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_resistfingerprinting0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_sessionstore0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_components_startup0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsBrowserStatusFilter.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Telemetry.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryCommon.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryEvent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryHistogram.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryScalar.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryIPC.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryIPCAccumulator.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryGeckoViewPersistence.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: CombinedStacks.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: KeyedStackCapturer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TelemetryIOInterposeObserver.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: WebrtcTelemetry.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_thumbnails0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsTypeAheadFind.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: HashStore.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VariableLengthPrefixSet.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsUrlClassifierPrefixSet.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsUrlClassifierStreamUpdater.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_url-classifier0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_windowwatcher0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ctypes.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_autocomplete0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_printingui_ipc0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsFormFillController.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsTerminator.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsToolkitCompsModule.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_mozapps_extensions0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_toolkit_profile0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_toolkit_recordreplay0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ProfileReset.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsAppRunner.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsEmbedFunctions.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_toolkit_xre0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsUnixSystemProxySettings.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_pref_autoconfig_src0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsJSInspector.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FileDescriptorOutputStream.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: HeapSnapshot.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: HeapSnapshotTempFileHelperParent.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: IdentityCryptoService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_startupcache0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: JSDebugger.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsAlertsIconListener.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Faulty.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: MessageManagerFuzzer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ProtocolFuzzer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: AboutRedirector.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsFeedSniffer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nsGNOMEShellService.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestBroker.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_test0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_netwerk_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_storage_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mediaconduit_unittests.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: mediapipeline_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: sdp_unittests.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: videoconduit_unittests.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_caps_tests_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_apz_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestDownscalingFilterNoSkia.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_image_test_gtest1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestDecoders.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_base_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_canvas_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_media_doctor_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_mediasource_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_media_gtest1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestParser.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_quota_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_security_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: csp_fuzzer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: content_parent_ipc_libfuzz.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_dom_prio_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_style_test_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_layout_base_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_tests_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: DataStorageTest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: OCSPCacheTest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TLSIntoleranceTest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_places_tests_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_tests0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_geckoview_gtest0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_startupcache_test0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: TestSyncRunnable.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: buffered_stun_socket_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: ice_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: multi_tcp_socket_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: nrappkit_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: proxy_tunnel_socket_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: rlogconnector_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: runnable_utils_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: sctp_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: simpletokenbucket_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: sockettransportservice_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: test_nr_socket_ice_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: test_nr_socket_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: transport_unittests.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: turn_unittest.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: FuzzingInterfaceStream.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: CTypes.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Library.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: StoreBuffer.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: jsutil.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src0.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src1.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src10.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src11.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src12.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src14.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src15.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src17.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src18.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src19.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src2.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src20.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src21.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src22.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src23.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src24.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src25.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src26.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src27.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src28.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src29.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src3.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src30.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src31.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src32.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src33.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src34.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src35.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src36.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src37.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src38.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src39.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src4.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src40.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src41.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src42.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src43.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src44.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src45.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src5.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src6.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src7.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src8.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src9.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: RegExp.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinSource-auto.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinSource.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinToken.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinTokenReaderBase.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinTokenReaderMultipart.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: BinTokenReaderTester.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Parser.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Disassembler-x86-shared.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: jsmath.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Interpreter.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: VTuneWrapper.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src13.cpp:js::Jsvalify(js::Class const*)
Unexecuted instantiation: Unified_cpp_js_src16.cpp:js::Jsvalify(js::Class const*)
1026
1027
static MOZ_ALWAYS_INLINE const Class*
1028
Valueify(const JSClass* c)
1029
4.87M
{
1030
4.87M
    return (const Class*)c;
1031
4.87M
}
Unexecuted instantiation: SandboxBroker.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SandboxBrokerPolicyFactory.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SandboxCrash.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SandboxPrefBridge.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SandboxLaunch.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SandboxReporter.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_certverifier0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_apps0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_base1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_base2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_ds0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_ds1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_io0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_io1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_components0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: IdleTaskRunner.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_threads2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: xptdata.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_reflect_xptinfo0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: xptcall.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: xptcinvoke_x86_64_unix.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: xptcstubs_x86_64_linux.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_chrome0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Services.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_build0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_modules_libpref0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: hnjstdio.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_hyphenation_glue0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_intl_locale0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_intl_strres0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_unicharutil_util0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_intl_l10n0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_base1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_base2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_base3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_base4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsCookieService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_cookie0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsEffectiveTLDService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsHostResolver.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_dns0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dns_mdns_libmdns0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_socket0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_converters0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AppCacheStorage.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: CacheStorage.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache20.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_cache21.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_about0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_data0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_file0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_ftp0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsGIOProtocolHandler.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsHttpChannelAuthProvider.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsHttpHandler.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_http0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_http1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_http2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_res0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_viewsource0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_websocket0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_protocol_wyciwyg0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsNotifyAddrListener_Linux.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DataChannel.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_wifi0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsNetModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsHttpNegotiateAuth.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ipc_chromium2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BackgroundChildImpl.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BackgroundParentImpl.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FileDescriptorSetChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FileDescriptorSetParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ipc_glue0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ipc_glue1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols10.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols12.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols13.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols14.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols15.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols16.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols17.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols18.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols19.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols20.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols21.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols22.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols23.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols24.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols25.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols26.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols27.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols28.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols29.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols30.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols31.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedProtocols9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: IPCMessageTypeName.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestShellChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestShellParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: XPCShellEnvironment.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Hal.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_hal0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: XrayWrapper.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpconnect_wrappers0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mozJSComponentLoader.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_xpconnect_loader0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_xpconnect_src0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_xpconnect_src1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_modules_libjar0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_libjar_zipwriter0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mozStorageBindingParams.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mozStorageConnection.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_storage0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_storage1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mozStorageModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_extensions_cookie0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_permissions0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_src_common0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_src_mediapipeline0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_src_peerconnection0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nr_socket_prsock.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nr_timer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nricectx.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nriceresolver.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nriceresolverfake.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: stun_socket_filter.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: test_nr_socket.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: transportflow.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: transportlayer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_media_mtransport_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_uriloader_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsOSHelperAppService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_uriloader_exthandler0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_uriloader_prefetch0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BasePrincipal.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_caps0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_parser_xml0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_parser_htmlparser0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_parser_html0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_parser_html1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_parser_html2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: InlineTranslator.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_ycbcr0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsDeviceContext.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_src0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: GLContextProviderGLX.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: SharedSurfaceGLX.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_gl0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_gl1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ImageContainer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PersistentBufferProvider.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BasicImageLayer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TextureClientX11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: X11BasicCompositor.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: X11TextureSourceBasic.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: X11TextureHost.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ShadowLayerUtilsX11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: X11TextureSourceOGL.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: WebRenderTextureHost.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers10.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_layers9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxFT2FontBase.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxFT2Utils.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxFcPlatformFontList.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxGdkNativeRenderer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxPlatform.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxPlatformGtk.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxPrefs.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_thebes0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_thebes1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: GPUParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VRDisplayHost.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VRDisplayLocal.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxVRExternal.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxVROpenVR.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: gfxVRPuppet.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_vr0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_vr1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_vr_service0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_config0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_webrender_bindings0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsImageModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image_decoders0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsIconChannel.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image_decoders_icon0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsPNGEncoder.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_abort0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_animation0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DOMIntersectionObserver.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsContentUtils.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsDOMWindowUtils.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsFrameMessageManager.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsGlobalWindowInner.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsGlobalWindowOuter.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsImageLoadingContent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsObjectLoadingContent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsPluginArray.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PrototypeList.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RegisterBindings.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RegisterWorkerBindings.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RegisterWorkerDebuggerBindings.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RegisterWorkletBindings.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ResolveSystemBinding.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnionTypes.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings10.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings12.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings13.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings14.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings15.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings16.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings17.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings18.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings19.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings20.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings21.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings22.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings23.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UnifiedBindings9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: StructuredClone.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_bindings0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BatteryManager.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BrowserElementParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_cache0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_cache1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ImageUtils.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_webgpu0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_webgpu1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_commandhandler0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_credentialmanagement0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_crypto0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_encoding0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: EventStateManager.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_events0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_events1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_events2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_events3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_fetch0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_file0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_file1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_file_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_file_uri0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_filehandle0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_filesystem0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_filesystem_compat0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_flex0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_gamepad0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PositionError.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsGeolocation.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_grid0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AutoplayPermissionManager.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AutoplayPermissionRequest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PluginDocument.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_html_input0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_jsurl0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AsmJSCache.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_mathml0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: CubebUtils.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DecoderTraits.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media10.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_doctor0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_eme0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_flac0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_media_imagecapture0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RemoteVideoDecoder.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VideoDecoderChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VideoDecoderManagerChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VideoDecoderManagerParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VideoDecoderParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_mediacapabilities0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_mediasink0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_media_mediasource0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_mp30.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_ogg0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_platforms0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_agnostic_eme0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_agnostic_gmp0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_media_platforms_omx0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FFVPXRuntimeLinker.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffvpx0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_platforms_ffmpeg0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav530.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav540.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_libav550.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffmpeg570.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ffmpeg_ffmpeg580.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_systemservices0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_wave0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AudioNodeEngineSSE2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_webaudio_blink0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_webm0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: MediaEngineWebRTC.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_webrtc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_webspeech_synth0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_synth_speechd0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_recognition0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: MP4Demuxer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_mp40.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: MediaModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_midi0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_midi1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_notification0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_offline0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_power0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_push0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_quota0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_security0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_storage0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_svg8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_network0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_permission0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsNPAPIPlugin.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsPluginHost.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PluginInstanceChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ActorsParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Key.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_indexedDB0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_indexedDB1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_system0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ContentChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ProcessHangMonitor.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_ipc1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_workers0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_workers1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_audiochannel0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_broadcastchannel0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_messagechannel0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_promise0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_smil0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_smil1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_url0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_webauthn0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xbl0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xbl1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xml0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xml0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xslt1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xul0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_vr0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_u2f0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_console0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_performance0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_webbrowserpersist0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_xhr0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_worklet0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_script0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_payments0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_payments_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_websocket0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_simpledb0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_prio0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_presentation0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_presentation1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_provider0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_view0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsBaseDragService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsBaseWidget.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsShmImage.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget_headless0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsWindow.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget_gtk0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget_gtk1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_widget_gtk2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_editor_libeditor2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_editor_spellchecker0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_editor_composer0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsLayoutStylesheetCache.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_style0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_style1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_style2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_style3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_style4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsRefreshDriver.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_base1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_base2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsPluginFrame.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_generic0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_generic1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_generic2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_generic3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_forms0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_forms1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_tables0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_svg0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_svg1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_svg2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_xul0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_xul1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_xul_tree0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_xul_grid0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VsyncChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VsyncParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_mathml0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_mathml1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_inspector0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_painting0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_painting1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_printing0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_build0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_docshell_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_base_timeline0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_docshell_shistory0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsDocShellModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpfe_appshell0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AccessibleWrap.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ApplicationAccessibleWrap.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AtkSocketAccessible.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DOMtoATK.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DocAccessibleWrap.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Platform.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RootAccessibleWrap.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: UtilInterface.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiHyperlink.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceAction.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceComponent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceDocument.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceEditableText.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceHyperlinkImpl.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceHypertext.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceImage.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceSelection.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceTable.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceTableCell.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceText.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsMaiInterfaceValue.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_aom0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_base0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_base1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_generic0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_html0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DocAccessibleChild.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ProxyAccessible.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: xpcAccEvents.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_xpcom0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_accessible_xul0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_tools_profiler0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_hunspell_glue0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_spellcheck_src0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_manager_ssl3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_manager_pki0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_components_alerts0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_antitracking0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_ackgroundhangmonitor0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_components_browser0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsWebBrowserModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_clearsitedata0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsCommandLine.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DownloadPlatform.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_extensions0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_webrequest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FinalizationWitnessService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_components_find0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_mediasniffer0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: MozIntlHelper.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: NativeOSFileInternals.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: PerfMeasurement.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_perfmonitoring0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_components_places0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: reflect.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_reputationservice0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_resistfingerprinting0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_sessionstore0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_components_startup0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsBrowserStatusFilter.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Telemetry.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryCommon.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryEvent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryHistogram.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryScalar.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryIPC.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryIPCAccumulator.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryGeckoViewPersistence.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: CombinedStacks.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: KeyedStackCapturer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TelemetryIOInterposeObserver.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: WebrtcTelemetry.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_thumbnails0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsTypeAheadFind.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: HashStore.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VariableLengthPrefixSet.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsUrlClassifierPrefixSet.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsUrlClassifierStreamUpdater.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_url-classifier0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_windowwatcher0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ctypes.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_autocomplete0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_printingui_ipc0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsFormFillController.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsTerminator.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsToolkitCompsModule.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_mozapps_extensions0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_toolkit_profile0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_toolkit_recordreplay0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ProfileReset.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsAppRunner.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsEmbedFunctions.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_toolkit_xre0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsUnixSystemProxySettings.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_pref_autoconfig_src0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsJSInspector.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FileDescriptorOutputStream.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: HeapSnapshot.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: HeapSnapshotTempFileHelperParent.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: IdentityCryptoService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_startupcache0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: JSDebugger.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsAlertsIconListener.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Faulty.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: MessageManagerFuzzer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ProtocolFuzzer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: AboutRedirector.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsFeedSniffer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nsGNOMEShellService.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestBroker.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_test0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_netwerk_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_storage_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mediaconduit_unittests.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: mediapipeline_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: sdp_unittests.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: videoconduit_unittests.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_caps_tests_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_apz_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestDownscalingFilterNoSkia.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_image_test_gtest1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestDecoders.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_base_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_canvas_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_media_doctor_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_mediasource_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_media_gtest1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestParser.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_quota_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_security_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: csp_fuzzer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: content_parent_ipc_libfuzz.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_dom_prio_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_style_test_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_layout_base_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_tests_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: DataStorageTest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: OCSPCacheTest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TLSIntoleranceTest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_places_tests_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_tests0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_geckoview_gtest0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_startupcache_test0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: TestSyncRunnable.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: buffered_stun_socket_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: ice_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: multi_tcp_socket_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: nrappkit_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: proxy_tunnel_socket_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: rlogconnector_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: runnable_utils_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: sctp_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: simpletokenbucket_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: sockettransportservice_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: test_nr_socket_ice_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: test_nr_socket_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: transport_unittests.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: turn_unittest.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: FuzzingInterfaceStream.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: CTypes.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Library.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: StoreBuffer.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: jsutil.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src0.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src1.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src10.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src11.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src12.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src14.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src15.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src17.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src18.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src19.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src2.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src20.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src21.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src22.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src23.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src24.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src25.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src26.cpp:js::Valueify(JSClass const*)
Unified_cpp_js_src27.cpp:js::Valueify(JSClass const*)
Line
Count
Source
1029
4.87M
{
1030
4.87M
    return (const Class*)c;
1031
4.87M
}
Unexecuted instantiation: Unified_cpp_js_src28.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src29.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src3.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src30.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src31.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src32.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src33.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src34.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src35.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src36.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src37.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src38.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src39.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src4.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src40.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src41.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src42.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src43.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src44.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src45.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src5.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src6.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src7.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src8.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src9.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: RegExp.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinSource-auto.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinSource.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinToken.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinTokenReaderBase.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinTokenReaderMultipart.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: BinTokenReaderTester.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Parser.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Disassembler-x86-shared.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: jsmath.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Interpreter.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: VTuneWrapper.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src13.cpp:js::Valueify(JSClass const*)
Unexecuted instantiation: Unified_cpp_js_src16.cpp:js::Valueify(JSClass const*)
1032
1033
/**
1034
 * Enumeration describing possible values of the [[Class]] internal property
1035
 * value of objects.
1036
 */
1037
enum class ESClass {
1038
    Object,
1039
    Array,
1040
    Number,
1041
    String,
1042
    Boolean,
1043
    RegExp,
1044
    ArrayBuffer,
1045
    SharedArrayBuffer,
1046
    Date,
1047
    Set,
1048
    Map,
1049
    Promise,
1050
    MapIterator,
1051
    SetIterator,
1052
    Arguments,
1053
    Error,
1054
#ifdef ENABLE_BIGINT
1055
    BigInt,
1056
#endif
1057
1058
    /** None of the above. */
1059
    Other
1060
};
1061
1062
/* Fills |vp| with the unboxed value for boxed types, or undefined otherwise. */
1063
bool
1064
Unbox(JSContext* cx, JS::HandleObject obj, JS::MutableHandleValue vp);
1065
1066
#ifdef DEBUG
1067
JS_FRIEND_API(bool)
1068
HasObjectMovedOp(JSObject* obj);
1069
#endif
1070
1071
}  /* namespace js */
1072
1073
#endif  /* js_Class_h */