Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/nsWrapperCacheInlines.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
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
#ifndef nsWrapperCacheInline_h___
8
#define nsWrapperCacheInline_h___
9
10
#include "nsWrapperCache.h"
11
#include "js/TracingAPI.h"
12
13
inline JSObject*
14
nsWrapperCache::GetWrapperPreserveColor() const
15
3
{
16
3
  JSObject* obj = GetWrapperMaybeDead();
17
3
  if (obj && js::gc::EdgeNeedsSweepUnbarriered(&obj)) {
18
0
    // The object has been found to be dead and is in the process of being
19
0
    // finalized, so don't let the caller see it. As an optimisation, remove it
20
0
    // from the cache so we don't have to do this check in future.
21
0
    const_cast<nsWrapperCache*>(this)->ClearWrapper();
22
0
    return nullptr;
23
0
  }
24
3
  MOZ_ASSERT(obj == mWrapper);
25
3
  return obj;
26
3
}
27
28
inline JSObject*
29
nsWrapperCache::GetWrapper() const
30
3
{
31
3
    JSObject* obj = GetWrapperPreserveColor();
32
3
    if (obj) {
33
3
      JS::ExposeObjectToActiveJS(obj);
34
3
    }
35
3
    return obj;
36
3
}
37
38
inline bool
39
nsWrapperCache::HasKnownLiveWrapper() const
40
{
41
  // If we have a wrapper and it's not gray in the GC-marking sense, that means
42
  // that we can't be cycle-collected.  That's because the wrapper is being kept
43
  // alive by the JS engine (and not just due to being traced from some
44
  // cycle-collectable thing), and the wrapper holds us alive, so we know we're
45
  // not collectable.
46
  JSObject* o = GetWrapperPreserveColor();
47
  return o && !JS::ObjectIsMarkedGray(o);
48
}
49
50
static void
51
SearchGray(JS::GCCellPtr aGCThing, const char* aName, void* aClosure)
52
0
{
53
0
  bool* hasGrayObjects = static_cast<bool*>(aClosure);
54
0
  if (!*hasGrayObjects && aGCThing && JS::GCThingIsMarkedGray(aGCThing)) {
55
0
    *hasGrayObjects = true;
56
0
  }
57
0
}
Unexecuted instantiation: Unified_cpp_xpcom_ds1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_threads0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_threads1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_threads2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: xptdata.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_build0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_intl_locale0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_netwerk_cookie0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_ftp0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_netwerk_protocol_res0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_protocol_wyciwyg0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: DataChannel.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: BackgroundChildImpl.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: BackgroundParentImpl.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_ipc_glue0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_ipc_glue1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols10.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols11.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols12.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols13.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols14.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols15.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols16.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols17.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols18.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols19.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols20.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols21.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols22.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols23.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols24.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols25.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols26.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols27.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols28.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols29.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols3.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols30.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols31.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols4.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols5.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols6.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols7.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols8.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UnifiedProtocols9.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_extensions_cookie0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_src_media-conduit0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_src_mediapipeline0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_uriloader_base0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_src0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: SharedSurfaceGLX.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_gl0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_gl1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: ImageContainer.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: PersistentBufferProvider.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: TextureClientX11.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: X11BasicCompositor.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: X11TextureSourceBasic.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: X11TextureHost.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: ShadowLayerUtilsX11.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: X11TextureSourceOGL.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: WebRenderTextureHost.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers10.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers11.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers3.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers4.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers5.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers6.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers7.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers8.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_layers9.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: GPUParent.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_webrender_bindings0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsImageModule.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_image_decoders0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsPNGEncoder.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_abort0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: BatteryManager.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_cache0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_cache1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_webgpu0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_webgpu1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_clients_manager1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_credentialmanagement0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_crypto0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_encoding0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_file0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_file_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_file_uri0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_filesystem_compat0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_flex0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_grid0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: AsmJSCache.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_eme0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_encoder0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_flac0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_gmp2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_media_imagecapture0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: RemoteVideoDecoder.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: VideoDecoderChild.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: VideoDecoderManagerChild.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: VideoDecoderManagerParent.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: VideoDecoderParent.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_mediacapabilities0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_media_mediasource0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_ogg0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_platforms0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_agnostic_eme0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_agnostic_gmp0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_wave0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: AudioNodeEngineSSE2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_webaudio2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_webaudio_blink0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_webm0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_webspeech_synth0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_synth_speechd0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: MediaModule.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_quota0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_security0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_network0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_permission0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: PluginInstanceChild.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_plugins_ipc1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_broadcastchannel0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_url0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_xslt_xpath1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_performance0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_worklet0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_payments0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_payments_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_serviceworkers2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_simpledb0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_prio0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_view0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_widget_headless0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsWindow.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_widget_gtk0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_widget_gtk1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_widget_gtk2.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_editor_spellchecker0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_layout_xul_grid0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: AccessibleWrap.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: ApplicationAccessibleWrap.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: AtkSocketAccessible.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: DOMtoATK.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: DocAccessibleWrap.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Platform.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: RootAccessibleWrap.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: UtilInterface.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiHyperlink.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceAction.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceComponent.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceDocument.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceEditableText.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceHyperlinkImpl.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceHypertext.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceImage.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceSelection.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceTable.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceTableCell.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceText.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsMaiInterfaceValue.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_accessible_aom0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_accessible_html0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_accessible_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: DocAccessibleChild.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: ProxyAccessible.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_accessible_xpcom0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_tools_profiler0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_components_alerts0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_antitracking0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_ackgroundhangmonitor0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: DownloadPlatform.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_extensions0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_webrequest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_components_find0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_components_places0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_reputationservice0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_resistfingerprinting0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_sessionstore0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Telemetry.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: TelemetryHistogram.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsTypeAheadFind.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsUrlClassifierStreamUpdater.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_autocomplete0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_printingui_ipc0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsFormFillController.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsToolkitCompsModule.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: HeapSnapshot.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: nsGNOMEShellService.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_xpcom_tests_gtest3.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_netwerk_test_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: mediapipeline_unittest.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: videoconduit_unittests.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_apz_test_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_gfx_tests_gtest1.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_dom_media_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_security_test_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: csp_fuzzer.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_style_test_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_layout_base_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_geckoview_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
Unexecuted instantiation: Unified_cpp_tests_gtest0.cpp:SearchGray(JS::GCCellPtr, char const*, void*)
58
59
inline bool
60
nsWrapperCache::HasNothingToTrace(nsISupports* aThis)
61
{
62
  nsXPCOMCycleCollectionParticipant* participant = nullptr;
63
  CallQueryInterface(aThis, &participant);
64
  bool hasGrayObjects = false;
65
  participant->Trace(aThis, TraceCallbackFunc(SearchGray), &hasGrayObjects);
66
  return !hasGrayObjects;
67
}
68
69
inline bool
70
nsWrapperCache::HasKnownLiveWrapperAndDoesNotNeedTracing(nsISupports* aThis)
71
{
72
  return HasKnownLiveWrapper() && HasNothingToTrace(aThis);
73
}
74
75
inline void
76
nsWrapperCache::MarkWrapperLive()
77
{
78
  // Just call GetWrapper and ignore the return value.  It will do the
79
  // gray-unmarking for us.
80
  GetWrapper();
81
}
82
83
#endif /* nsWrapperCache_h___ */