Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/Casting.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
/* Cast operations to supplement the built-in casting operations. */
8
9
#ifndef mozilla_Casting_h
10
#define mozilla_Casting_h
11
12
#include "mozilla/Assertions.h"
13
#include "mozilla/TypeTraits.h"
14
15
#include <cstring>
16
#include <limits.h>
17
#include <type_traits>
18
19
namespace mozilla {
20
21
/**
22
 * Sets the outparam value of type |To| with the same underlying bit pattern of
23
 * |aFrom|.
24
 *
25
 * |To| and |From| must be types of the same size; be careful of cross-platform
26
 * size differences, or this might fail to compile on some but not all
27
 * platforms.
28
 *
29
 * There is also a variant that returns the value directly.  In most cases, the
30
 * two variants should be identical.  However, in the specific case of x86
31
 * chips, the behavior differs: returning floating-point values directly is done
32
 * through the x87 stack, and x87 loads and stores turn signaling NaNs into
33
 * quiet NaNs... silently.  Returning floating-point values via outparam,
34
 * however, is done entirely within the SSE registers when SSE2 floating-point
35
 * is enabled in the compiler, which has semantics-preserving behavior you would
36
 * expect.
37
 *
38
 * If preserving the distinction between signaling NaNs and quiet NaNs is
39
 * important to you, you should use the outparam version.  In all other cases,
40
 * you should use the direct return version.
41
 */
42
template<typename To, typename From>
43
inline void
44
BitwiseCast(const From aFrom, To* aResult)
45
1.64M
{
46
1.64M
  static_assert(sizeof(From) == sizeof(To),
47
1.64M
                "To and From must have the same size");
48
1.64M
49
1.64M
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
1.64M
  // various STLs we use don't all provide it.
51
1.64M
  static_assert(std::is_trivial<From>::value,
52
1.64M
                "shouldn't bitwise-copy a type having non-trivial "
53
1.64M
                "initialization");
54
1.64M
  static_assert(std::is_trivial<To>::value,
55
1.64M
                "shouldn't bitwise-copy a type having non-trivial "
56
1.64M
                "initialization");
57
1.64M
58
1.64M
  std::memcpy(static_cast<void*>(aResult),
59
1.64M
              static_cast<const void*>(&aFrom),
60
1.64M
              sizeof(From));
61
1.64M
}
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned int, float>(float, unsigned int*)
void mozilla::BitwiseCast<double, unsigned long>(unsigned long, double*)
Line
Count
Source
45
1.44k
{
46
1.44k
  static_assert(sizeof(From) == sizeof(To),
47
1.44k
                "To and From must have the same size");
48
1.44k
49
1.44k
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
1.44k
  // various STLs we use don't all provide it.
51
1.44k
  static_assert(std::is_trivial<From>::value,
52
1.44k
                "shouldn't bitwise-copy a type having non-trivial "
53
1.44k
                "initialization");
54
1.44k
  static_assert(std::is_trivial<To>::value,
55
1.44k
                "shouldn't bitwise-copy a type having non-trivial "
56
1.44k
                "initialization");
57
1.44k
58
1.44k
  std::memcpy(static_cast<void*>(aResult),
59
1.44k
              static_cast<const void*>(&aFrom),
60
1.44k
              sizeof(From));
61
1.44k
}
void mozilla::BitwiseCast<unsigned long, double>(double, unsigned long*)
Line
Count
Source
45
17.7k
{
46
17.7k
  static_assert(sizeof(From) == sizeof(To),
47
17.7k
                "To and From must have the same size");
48
17.7k
49
17.7k
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
17.7k
  // various STLs we use don't all provide it.
51
17.7k
  static_assert(std::is_trivial<From>::value,
52
17.7k
                "shouldn't bitwise-copy a type having non-trivial "
53
17.7k
                "initialization");
54
17.7k
  static_assert(std::is_trivial<To>::value,
55
17.7k
                "shouldn't bitwise-copy a type having non-trivial "
56
17.7k
                "initialization");
57
17.7k
58
17.7k
  std::memcpy(static_cast<void*>(aResult),
59
17.7k
              static_cast<const void*>(&aFrom),
60
17.7k
              sizeof(From));
61
17.7k
}
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(int, char**), void*>(void*, void (**)(int, char**))
Unexecuted instantiation: void mozilla::BitwiseCast<bool (*)(), void*>(void*, bool (**)())
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long (*)(unsigned long), void*>(void*, unsigned long (**)(unsigned long))
Unexecuted instantiation: void mozilla::BitwiseCast<PLDHashTableOps const* (*)(PLDHashTableOps const*), void*>(void*, PLDHashTableOps const* (**)(PLDHashTableOps const*))
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long (*)(void*), void*>(void*, unsigned long (**)(void*))
Unexecuted instantiation: void mozilla::BitwiseCast<char const* (*)(void*), void*>(void*, char const* (**)(void*))
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long* (*)(), void*>(void*, unsigned long* (**)())
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long (*)(), void*>(void*, unsigned long (**)())
Unexecuted instantiation: void mozilla::BitwiseCast<bool (*)(char const*), void*>(void*, bool (**)(char const*))
Unexecuted instantiation: void mozilla::BitwiseCast<bool (*)(JSContext*, JSObject*), void*>(void*, bool (**)(JSContext*, JSObject*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(), void*>(void*, void (**)())
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void*, unsigned long), void*>(void*, void (**)(void*, unsigned long))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(std::__1::function<void ()> const&), void*>(void*, void (**)(std::__1::function<void ()> const&))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(char const*), void*>(void*, void (**)(char const*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(PLDHashTableOps const*), void*>(void*, void (**)(PLDHashTableOps const*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(PLDHashTableOps const*, PLDHashTableOps const*), void*>(void*, void (**)(PLDHashTableOps const*, PLDHashTableOps const*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void const*, JSObject*), void*>(void*, void (**)(void const*, JSObject*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void*, std::__1::function<void ()> const&), void*>(void*, void (**)(void*, std::__1::function<void ()> const&))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void*), void*>(void*, void (**)(void*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(char const*, __va_list_tag*), void*>(void*, void (**)(char const*, __va_list_tag*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void const*, unsigned long), void*>(void*, void (**)(void const*, unsigned long))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(long), void*>(void*, void (**)(long))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void const*, char const*, char const*), void*>(void*, void (**)(void const*, char const*, char const*))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void const*, char16_t const*, unsigned long), void*>(void*, void (**)(void const*, char16_t const*, unsigned long))
Unexecuted instantiation: void mozilla::BitwiseCast<void (*)(void const*), void*>(void*, void (**)(void const*))
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char const*, char const*>(char const*, unsigned char const**)
Unexecuted instantiation: void mozilla::BitwiseCast<char*, unsigned char*>(unsigned char*, char**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char*, char*>(char*, unsigned char**)
void mozilla::BitwiseCast<bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>), JSObject*>(JSObject*, bool (**)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>))
Line
Count
Source
45
27
{
46
27
  static_assert(sizeof(From) == sizeof(To),
47
27
                "To and From must have the same size");
48
27
49
27
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
27
  // various STLs we use don't all provide it.
51
27
  static_assert(std::is_trivial<From>::value,
52
27
                "shouldn't bitwise-copy a type having non-trivial "
53
27
                "initialization");
54
27
  static_assert(std::is_trivial<To>::value,
55
27
                "shouldn't bitwise-copy a type having non-trivial "
56
27
                "initialization");
57
27
58
27
  std::memcpy(static_cast<void*>(aResult),
59
27
              static_cast<const void*>(&aFrom),
60
27
              sizeof(From));
61
27
}
void mozilla::BitwiseCast<bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&), JSObject*>(JSObject*, bool (**)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&))
Line
Count
Source
45
27
{
46
27
  static_assert(sizeof(From) == sizeof(To),
47
27
                "To and From must have the same size");
48
27
49
27
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
27
  // various STLs we use don't all provide it.
51
27
  static_assert(std::is_trivial<From>::value,
52
27
                "shouldn't bitwise-copy a type having non-trivial "
53
27
                "initialization");
54
27
  static_assert(std::is_trivial<To>::value,
55
27
                "shouldn't bitwise-copy a type having non-trivial "
56
27
                "initialization");
57
27
58
27
  std::memcpy(static_cast<void*>(aResult),
59
27
              static_cast<const void*>(&aFrom),
60
27
              sizeof(From));
61
27
}
Unexecuted instantiation: void mozilla::BitwiseCast<JSObject*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>), JSObject**)
Unexecuted instantiation: void mozilla::BitwiseCast<JSObject*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&), JSObject**)
Unexecuted instantiation: void mozilla::BitwiseCast<float, unsigned int>(unsigned int, float*)
Unexecuted instantiation: void mozilla::BitwiseCast<int, unsigned int>(unsigned int, int*)
Unexecuted instantiation: void mozilla::BitwiseCast<gfxAlphaType, unsigned int>(unsigned int, gfxAlphaType*)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned int, int>(int, unsigned int*)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned int, gfxAlphaType>(gfxAlphaType, unsigned int*)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char*, unsigned long*>(unsigned long*, unsigned char**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char*, char const*>(char const*, unsigned char**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char*, unsigned char*>(unsigned char*, unsigned char**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned char const*, unsigned int const*>(unsigned int const*, unsigned char const**)
Unexecuted instantiation: void mozilla::BitwiseCast<char const*, unsigned char const*>(unsigned char const*, char const**)
Unexecuted instantiation: void mozilla::BitwiseCast<char const*, unsigned int const*>(unsigned int const*, char const**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long const*, char const*>(char const*, unsigned long const**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned int const*, char const*>(char const*, unsigned int const**)
Unexecuted instantiation: void mozilla::BitwiseCast<nsNSSSocketInfo*, PRFilePrivate*>(PRFilePrivate*, nsNSSSocketInfo**)
Unexecuted instantiation: void mozilla::BitwiseCast<nsNSSCertificate*, nsIX509Cert*>(nsIX509Cert*, nsNSSCertificate**)
Unexecuted instantiation: void mozilla::BitwiseCast<SecurityPropertySource*, unsigned int*>(unsigned int*, SecurityPropertySource**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned int*, char const*>(char const*, unsigned int**)
void mozilla::BitwiseCast<void (*)(void*, unsigned int, JS::Value*, js::InterpreterFrame*, void*, JSObject*, unsigned long, JS::Value*), unsigned char*>(unsigned char*, void (**)(void*, unsigned int, JS::Value*, js::InterpreterFrame*, void*, JSObject*, unsigned long, JS::Value*))
Line
Count
Source
45
1.62M
{
46
1.62M
  static_assert(sizeof(From) == sizeof(To),
47
1.62M
                "To and From must have the same size");
48
1.62M
49
1.62M
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
1.62M
  // various STLs we use don't all provide it.
51
1.62M
  static_assert(std::is_trivial<From>::value,
52
1.62M
                "shouldn't bitwise-copy a type having non-trivial "
53
1.62M
                "initialization");
54
1.62M
  static_assert(std::is_trivial<To>::value,
55
1.62M
                "shouldn't bitwise-copy a type having non-trivial "
56
1.62M
                "initialization");
57
1.62M
58
1.62M
  std::memcpy(static_cast<void*>(aResult),
59
1.62M
              static_cast<const void*>(&aFrom),
60
1.62M
              sizeof(From));
61
1.62M
}
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JS::Value*)>(void (*)(JSRuntime*, JS::Value*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSString**)>(void (*)(JSRuntime*, JSString**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSObject**)>(void (*)(JSRuntime*, JSObject**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::Shape**)>(void (*)(JSRuntime*, js::Shape**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::ObjectGroup**)>(void (*)(JSRuntime*, js::ObjectGroup**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSRuntime*)>(bool (*)(JSRuntime*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(char16_t const*, char16_t const*, unsigned long)>(int (*)(char16_t const*, char16_t const*, unsigned long), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int, JS::Value*)>(bool (*)(JSContext*, unsigned int, JS::Value*), void**)
Line
Count
Source
45
14
{
46
14
  static_assert(sizeof(From) == sizeof(To),
47
14
                "To and From must have the same size");
48
14
49
14
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
14
  // various STLs we use don't all provide it.
51
14
  static_assert(std::is_trivial<From>::value,
52
14
                "shouldn't bitwise-copy a type having non-trivial "
53
14
                "initialization");
54
14
  static_assert(std::is_trivial<To>::value,
55
14
                "shouldn't bitwise-copy a type having non-trivial "
56
14
                "initialization");
57
14
58
14
  std::memcpy(static_cast<void*>(aResult),
59
14
              static_cast<const void*>(&aFrom),
60
14
              sizeof(From));
61
14
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICWarmUpCounter_Fallback*, js::jit::IonOsrTempData**)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICWarmUpCounter_Fallback*, js::jit::IonOsrTempData**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeMonitor_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeMonitor_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUpdatedStub*, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUpdatedStub*, JS::Handle<JS::Value>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICToBool_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICToBool_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::ICToNumber_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::ICToNumber_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetElem_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetElem_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICHasOwn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICHasOwn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBindName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBindName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIntrinsic_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIntrinsic_Fallback*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetProp_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetProp_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, JS::Value*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JS::Value*)>(bool (*)(JS::Value*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIterator_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIterator_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIteratorMore_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIteratorMore_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSContext*, js::jit::ICIteratorClose_Fallback*, JS::Handle<JS::Value>)>(void (*)(JSContext*, js::jit::ICIteratorClose_Fallback*, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICInstanceOf_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICInstanceOf_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeOf_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeOf_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRetSub_Fallback*, JS::Handle<JS::Value>, unsigned char**)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRetSub_Fallback*, JS::Handle<JS::Value>, unsigned char**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
30
{
46
30
  static_assert(sizeof(From) == sizeof(To),
47
30
                "To and From must have the same size");
48
30
49
30
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
30
  // various STLs we use don't all provide it.
51
30
  static_assert(std::is_trivial<From>::value,
52
30
                "shouldn't bitwise-copy a type having non-trivial "
53
30
                "initialization");
54
30
  static_assert(std::is_trivial<To>::value,
55
30
                "shouldn't bitwise-copy a type having non-trivial "
56
30
                "initialization");
57
30
58
30
  std::memcpy(static_cast<void*>(aResult),
59
30
              static_cast<const void*>(&aFrom),
60
30
              sizeof(From));
61
30
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRest_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRest_Fallback*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUnaryArith_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUnaryArith_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBinaryArith_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBinaryArith_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCompare_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCompare_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewArray_Fallback*, unsigned int, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewArray_Fallback*, unsigned int, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewObject_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewObject_Fallback*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::gc::StoreBuffer*, js::gc::Cell**)>(void (*)(js::gc::StoreBuffer*, js::gc::Cell**), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void* (*)(JSContext*, js::gc::AllocKind, unsigned long)>(void* (*)(JSContext*, js::gc::AllocKind, unsigned long), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::GlobalObject*)>(void (*)(JSRuntime*, js::GlobalObject*), void**)
void mozilla::BitwiseCast<js::Shape*, unsigned long>(unsigned long, js::Shape**)
Line
Count
Source
45
128
{
46
128
  static_assert(sizeof(From) == sizeof(To),
47
128
                "To and From must have the same size");
48
128
49
128
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
128
  // various STLs we use don't all provide it.
51
128
  static_assert(std::is_trivial<From>::value,
52
128
                "shouldn't bitwise-copy a type having non-trivial "
53
128
                "initialization");
54
128
  static_assert(std::is_trivial<To>::value,
55
128
                "shouldn't bitwise-copy a type having non-trivial "
56
128
                "initialization");
57
128
58
128
  std::memcpy(static_cast<void*>(aResult),
59
128
              static_cast<const void*>(&aFrom),
60
128
              sizeof(From));
61
128
}
void mozilla::BitwiseCast<JSObject*, unsigned long>(unsigned long, JSObject**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<js::ObjectGroup*, unsigned long>(unsigned long, js::ObjectGroup**)
Line
Count
Source
45
21
{
46
21
  static_assert(sizeof(From) == sizeof(To),
47
21
                "To and From must have the same size");
48
21
49
21
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
21
  // various STLs we use don't all provide it.
51
21
  static_assert(std::is_trivial<From>::value,
52
21
                "shouldn't bitwise-copy a type having non-trivial "
53
21
                "initialization");
54
21
  static_assert(std::is_trivial<To>::value,
55
21
                "shouldn't bitwise-copy a type having non-trivial "
56
21
                "initialization");
57
21
58
21
  std::memcpy(static_cast<void*>(aResult),
59
21
              static_cast<const void*>(&aFrom),
60
21
              sizeof(From));
61
21
}
void mozilla::BitwiseCast<JS::Symbol*, unsigned long>(unsigned long, JS::Symbol**)
Line
Count
Source
45
1
{
46
1
  static_assert(sizeof(From) == sizeof(To),
47
1
                "To and From must have the same size");
48
1
49
1
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
1
  // various STLs we use don't all provide it.
51
1
  static_assert(std::is_trivial<From>::value,
52
1
                "shouldn't bitwise-copy a type having non-trivial "
53
1
                "initialization");
54
1
  static_assert(std::is_trivial<To>::value,
55
1
                "shouldn't bitwise-copy a type having non-trivial "
56
1
                "initialization");
57
1
58
1
  std::memcpy(static_cast<void*>(aResult),
59
1
              static_cast<const void*>(&aFrom),
60
1
              sizeof(From));
61
1
}
void mozilla::BitwiseCast<JSString*, unsigned long>(unsigned long, JSString**)
Line
Count
Source
45
25
{
46
25
  static_assert(sizeof(From) == sizeof(To),
47
25
                "To and From must have the same size");
48
25
49
25
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
25
  // various STLs we use don't all provide it.
51
25
  static_assert(std::is_trivial<From>::value,
52
25
                "shouldn't bitwise-copy a type having non-trivial "
53
25
                "initialization");
54
25
  static_assert(std::is_trivial<To>::value,
55
25
                "shouldn't bitwise-copy a type having non-trivial "
56
25
                "initialization");
57
25
58
25
  std::memcpy(static_cast<void*>(aResult),
59
25
              static_cast<const void*>(&aFrom),
60
25
              sizeof(From));
61
25
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSString*, double*)>(bool (*)(JSContext*, JSString*, double*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(JSString*)>(int (*)(JSString*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(double, double)>(double (*)(double, double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(double)>(int (*)(double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, JSString* (*)(JSObject*, JSRuntime*)>(JSString* (*)(JSObject*, JSRuntime*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSObject*)>(bool (*)(JSObject*), void**)
Line
Count
Source
45
15
{
46
15
  static_assert(sizeof(From) == sizeof(To),
47
15
                "To and From must have the same size");
48
15
49
15
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
15
  // various STLs we use don't all provide it.
51
15
  static_assert(std::is_trivial<From>::value,
52
15
                "shouldn't bitwise-copy a type having non-trivial "
53
15
                "initialization");
54
15
  static_assert(std::is_trivial<To>::value,
55
15
                "shouldn't bitwise-copy a type having non-trivial "
56
15
                "initialization");
57
15
58
15
  std::memcpy(static_cast<void*>(aResult),
59
15
              static_cast<const void*>(&aFrom),
60
15
              sizeof(From));
61
15
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSObject*, int)>(void (*)(JSRuntime*, JSObject*, int), void**)
void mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::gc::Cell*)>(void (*)(JSRuntime*, js::gc::Cell*), void**)
Line
Count
Source
45
16
{
46
16
  static_assert(sizeof(From) == sizeof(To),
47
16
                "To and From must have the same size");
48
16
49
16
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
16
  // various STLs we use don't all provide it.
51
16
  static_assert(std::is_trivial<From>::value,
52
16
                "shouldn't bitwise-copy a type having non-trivial "
53
16
                "initialization");
54
16
  static_assert(std::is_trivial<To>::value,
55
16
                "shouldn't bitwise-copy a type having non-trivial "
56
16
                "initialization");
57
16
58
16
  std::memcpy(static_cast<void*>(aResult),
59
16
              static_cast<const void*>(&aFrom),
60
16
              sizeof(From));
61
16
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JSObject*)>(JSObject* (*)(JSContext*, JSObject*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, JS::Value*)>(bool (*)(JSContext*, JSObject*, JS::Value*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*, int, JS::Value*)>(bool (*)(JSContext*, js::NativeObject*, int, JS::Value*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, js::PropertyName*, JS::Value*)>(bool (*)(JSContext*, JSObject*, js::PropertyName*, JS::Value*), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSFlatString* (*)(JSContext*, int)>(JSFlatString* (*)(JSContext*, int), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, double)>(JSString* (*)(JSContext*, double), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropertyIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropertyIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonSetPropertyIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonSetPropertyIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropSuperIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropSuperIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetNameIC*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetNameIC*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonHasOwnIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, int*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonHasOwnIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBindNameIC*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBindNameIC*, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetIteratorIC*, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetIteratorIC*, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInstanceOfIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInstanceOfIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonUnaryArithIC*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonUnaryArithIC*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBinaryArithIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBinaryArithIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonCompareIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonCompareIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JS::Value>)>(JSString* (*)(JSContext*, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JS::Value>, bool)>(JSObject* (*)(JSContext*, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::RegExpObject*>)>(JSObject* (*)(JSContext*, JS::Handle<js::RegExpObject*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void* (*)(JSContext*)>(void* (*)(JSContext*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, int*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, int*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*)>(bool (*)(JSContext*, JSObject*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, JSObject*)>(bool (*)(JSContext*, JSObject*, JSObject*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSString*, int*)>(bool (*)(JSContext*, JSString*, int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<JSString*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSFunction* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JSObject*>)>(JSFunction* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JS::Value>, FunctionPrefixKind)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JS::Value>, FunctionPrefixKind), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, void (*)(JSContext*, unsigned long)>(void (*)(JSContext*, unsigned long), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*)>(bool (*)(JSContext*, js::NativeObject*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
18
{
46
18
  static_assert(sizeof(From) == sizeof(To),
47
18
                "To and From must have the same size");
48
18
49
18
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
18
  // various STLs we use don't all provide it.
51
18
  static_assert(std::is_trivial<From>::value,
52
18
                "shouldn't bitwise-copy a type having non-trivial "
53
18
                "initialization");
54
18
  static_assert(std::is_trivial<To>::value,
55
18
                "shouldn't bitwise-copy a type having non-trivial "
56
18
                "initialization");
57
18
58
18
  std::memcpy(static_cast<void*>(aResult),
59
18
              static_cast<const void*>(&aFrom),
60
18
              sizeof(From));
61
18
}
void mozilla::BitwiseCast<void*, js::LexicalEnvironmentObject* (*)(JSContext*, JS::Handle<js::LexicalScope*>, JS::Handle<JSObject*>, js::gc::InitialHeap)>(js::LexicalEnvironmentObject* (*)(JSContext*, JS::Handle<js::LexicalScope*>, JS::Handle<JSObject*>, js::gc::InitialHeap), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, bool)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, bool, bool, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, bool, bool, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned int, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned int, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(JSContext*, JSObject*, JSString*, JS::Value*)>(void (*)(JSContext*, JSObject*, JSString*, JS::Value*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Handle<JS::Value>, JS::Handle<JSString*>, unsigned char*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Handle<JS::Value>, JS::Handle<JSString*>, unsigned char*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int, JS::Handle<JSObject*>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
9
{
46
9
  static_assert(sizeof(From) == sizeof(To),
47
9
                "To and From must have the same size");
48
9
49
9
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
9
  // various STLs we use don't all provide it.
51
9
  static_assert(std::is_trivial<From>::value,
52
9
                "shouldn't bitwise-copy a type having non-trivial "
53
9
                "initialization");
54
9
  static_assert(std::is_trivial<To>::value,
55
9
                "shouldn't bitwise-copy a type having non-trivial "
56
9
                "initialization");
57
9
58
9
  std::memcpy(static_cast<void*>(aResult),
59
9
              static_cast<const void*>(&aFrom),
60
9
              sizeof(From));
61
9
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::Handle<JSFunction*>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::Handle<JSFunction*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, unsigned int, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, unsigned int, js::NewObjectKind), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, unsigned int, JS::Handle<js::ObjectGroup*>, bool)>(JSObject* (*)(JSContext*, unsigned int, JS::Handle<js::ObjectGroup*>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, int)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(double, double, double)>(double (*)(double, double, double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(double, double, double, double)>(double (*)(double, double, double, double), void**)
void mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, int)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::ArrayIteratorObject* (*)(JSContext*, js::NewObjectKind)>(js::ArrayIteratorObject* (*)(JSContext*, js::NewObjectKind), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::StringIteratorObject* (*)(JSContext*, js::NewObjectKind)>(js::StringIteratorObject* (*)(JSContext*, js::NewObjectKind), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::TypedArrayObject* (*)(JSContext*, JS::Handle<JSObject*>, int)>(js::TypedArrayObject* (*)(JSContext*, JS::Handle<JSObject*>, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, js::NewObjectKind), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::PlainObject* (*)(JSContext*, JS::Handle<js::PlainObject*>)>(js::PlainObject* (*)(JSContext*, JS::Handle<js::PlainObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::InlineTypedObject* (*)(JSContext*, JS::Handle<js::InlineTypedObject*>, js::gc::InitialHeap)>(js::InlineTypedObject* (*)(JSContext*, JS::Handle<js::InlineTypedObject*>, js::gc::InitialHeap), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::NamedLambdaObject* (*)(JSContext*, JS::Handle<JSFunction*>, js::gc::InitialHeap)>(js::NamedLambdaObject* (*)(JSContext*, JS::Handle<JSFunction*>, js::gc::InitialHeap), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::Shape*>, JS::Handle<js::ObjectGroup*>)>(JSObject* (*)(JSContext*, JS::Handle<js::Shape*>, JS::Handle<js::ObjectGroup*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::Shape*>)>(JSObject* (*)(JSContext*, JS::Handle<js::Shape*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSString*>)>(JSObject* (*)(JSContext*, JS::Handle<JSString*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JSObject*>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PlainObject*>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PlainObject*>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, js::jit::JitFrameLayout*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, js::jit::JitFrameLayout*, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, js::ArgumentsObject* (*)(JSContext*, js::jit::JitFrameLayout*, JSObject*, js::ArgumentsObject*)>(js::ArgumentsObject* (*)(JSContext*, js::jit::JitFrameLayout*, JSObject*, js::ArgumentsObject*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
12
{
46
12
  static_assert(sizeof(From) == sizeof(To),
47
12
                "To and From must have the same size");
48
12
49
12
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
12
  // various STLs we use don't all provide it.
51
12
  static_assert(std::is_trivial<From>::value,
52
12
                "shouldn't bitwise-copy a type having non-trivial "
53
12
                "initialization");
54
12
  static_assert(std::is_trivial<To>::value,
55
12
                "shouldn't bitwise-copy a type having non-trivial "
56
12
                "initialization");
57
12
58
12
  std::memcpy(static_cast<void*>(aResult),
59
12
              static_cast<const void*>(&aFrom),
60
12
              sizeof(From));
61
12
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::TypedArrayObject*, unsigned int, js::TypedArrayObject*)>(void (*)(js::TypedArrayObject*, unsigned int, js::TypedArrayObject*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(double, int)>(double (*)(double, int), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
36
{
46
36
  static_assert(sizeof(From) == sizeof(To),
47
36
                "To and From must have the same size");
48
36
49
36
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
36
  // various STLs we use don't all provide it.
51
36
  static_assert(std::is_trivial<From>::value,
52
36
                "shouldn't bitwise-copy a type having non-trivial "
53
36
                "initialization");
54
36
  static_assert(std::is_trivial<To>::value,
55
36
                "shouldn't bitwise-copy a type having non-trivial "
56
36
                "initialization");
57
36
58
36
  std::memcpy(static_cast<void*>(aResult),
59
36
              static_cast<const void*>(&aFrom),
60
36
              sizeof(From));
61
36
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(double)>(double (*)(double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, float (*)(float)>(float (*)(float), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, bool*), void**)
Line
Count
Source
45
24
{
46
24
  static_assert(sizeof(From) == sizeof(To),
47
24
                "To and From must have the same size");
48
24
49
24
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
24
  // various STLs we use don't all provide it.
51
24
  static_assert(std::is_trivial<From>::value,
52
24
                "shouldn't bitwise-copy a type having non-trivial "
53
24
                "initialization");
54
24
  static_assert(std::is_trivial<To>::value,
55
24
                "shouldn't bitwise-copy a type having non-trivial "
56
24
                "initialization");
57
24
58
24
  std::memcpy(static_cast<void*>(aResult),
59
24
              static_cast<const void*>(&aFrom),
60
24
              sizeof(From));
61
24
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool*), void**)
Line
Count
Source
45
15
{
46
15
  static_assert(sizeof(From) == sizeof(To),
47
15
                "To and From must have the same size");
48
15
49
15
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
15
  // various STLs we use don't all provide it.
51
15
  static_assert(std::is_trivial<From>::value,
52
15
                "shouldn't bitwise-copy a type having non-trivial "
53
15
                "initialization");
54
15
  static_assert(std::is_trivial<To>::value,
55
15
                "shouldn't bitwise-copy a type having non-trivial "
56
15
                "initialization");
57
15
58
15
  std::memcpy(static_cast<void*>(aResult),
59
15
              static_cast<const void*>(&aFrom),
60
15
              sizeof(From));
61
15
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, int, int)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, int, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void* (*)(JS::Zone*, unsigned long)>(void* (*)(JS::Zone*, unsigned long), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(void*)>(void (*)(void*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, unsigned char* (*)(JSContext*, js::jit::LazyLinkExitFrameLayout*)>(unsigned char* (*)(JSContext*, js::jit::LazyLinkExitFrameLayout*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::InterpreterStubExitFrameLayout*)>(bool (*)(JSContext*, js::jit::InterpreterStubExitFrameLayout*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, int, unsigned int*)>(bool (*)(JSContext*, JS::Handle<JSString*>, int, unsigned int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, int)>(JSString* (*)(JSContext*, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(double, double*, double*)>(void (*)(double, double*, double*), void**)
void mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, JS::Handle<JSString*>, JS::Handle<JSString*>, unsigned int)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, JS::Handle<JSString*>, JS::Handle<JSString*>, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::NativeObject*>, int, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<js::NativeObject*>, int, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::NativeObject* (*)(JSContext*, JSObject*)>(js::NativeObject* (*)(JSContext*, JSObject*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
12
{
46
12
  static_assert(sizeof(From) == sizeof(To),
47
12
                "To and From must have the same size");
48
12
49
12
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
12
  // various STLs we use don't all provide it.
51
12
  static_assert(std::is_trivial<From>::value,
52
12
                "shouldn't bitwise-copy a type having non-trivial "
53
12
                "initialization");
54
12
  static_assert(std::is_trivial<To>::value,
55
12
                "shouldn't bitwise-copy a type having non-trivial "
56
12
                "initialization");
57
12
58
12
  std::memcpy(static_cast<void*>(aResult),
59
12
              static_cast<const void*>(&aFrom),
60
12
              sizeof(From));
61
12
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::NativeObject*)>(void (*)(js::NativeObject*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*)>(bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, int, int, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, int, int, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, void (*)(JSContext*, JSObject*)>(void (*)(JSContext*, JSObject*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>)>(bool (*)(JSContext*, JS::Handle<JSScript*>), void**)
Line
Count
Source
45
9
{
46
9
  static_assert(sizeof(From) == sizeof(To),
47
9
                "To and From must have the same size");
48
9
49
9
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
9
  // various STLs we use don't all provide it.
51
9
  static_assert(std::is_trivial<From>::value,
52
9
                "shouldn't bitwise-copy a type having non-trivial "
53
9
                "initialization");
54
9
  static_assert(std::is_trivial<To>::value,
55
9
                "shouldn't bitwise-copy a type having non-trivial "
56
9
                "initialization");
57
9
58
9
  std::memcpy(static_cast<void*>(aResult),
59
9
              static_cast<const void*>(&aFrom),
60
9
              sizeof(From));
61
9
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, unsigned int, JS::Value*, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, unsigned int, JS::Value*, JS::Handle<JSObject*>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, unsigned int, JS::Handle<JS::Value>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, unsigned int, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool, unsigned char*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool, unsigned char*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, bool*), void**)
Line
Count
Source
45
12
{
46
12
  static_assert(sizeof(From) == sizeof(To),
47
12
                "To and From must have the same size");
48
12
49
12
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
12
  // various STLs we use don't all provide it.
51
12
  static_assert(std::is_trivial<From>::value,
52
12
                "shouldn't bitwise-copy a type having non-trivial "
53
12
                "initialization");
54
12
  static_assert(std::is_trivial<To>::value,
55
12
                "shouldn't bitwise-copy a type having non-trivial "
56
12
                "initialization");
57
12
58
12
  std::memcpy(static_cast<void*>(aResult),
59
12
              static_cast<const void*>(&aFrom),
60
12
              sizeof(From));
61
12
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>), void**)
Line
Count
Source
45
12
{
46
12
  static_assert(sizeof(From) == sizeof(To),
47
12
                "To and From must have the same size");
48
12
49
12
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
12
  // various STLs we use don't all provide it.
51
12
  static_assert(std::is_trivial<From>::value,
52
12
                "shouldn't bitwise-copy a type having non-trivial "
53
12
                "initialization");
54
12
  static_assert(std::is_trivial<To>::value,
55
12
                "shouldn't bitwise-copy a type having non-trivial "
56
12
                "initialization");
57
12
58
12
  std::memcpy(static_cast<void*>(aResult),
59
12
              static_cast<const void*>(&aFrom),
60
12
              sizeof(From));
61
12
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, unsigned int, JS::Handle<JSObject*>, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JSObject*, bool*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JSObject*, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitSetterCallArgs)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitSetterCallArgs), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, js::CheckIsCallableKind)>(bool (*)(JSContext*, JS::Handle<JS::Value>, js::CheckIsCallableKind), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSObject*>)>(JSString* (*)(JSContext*, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int)>(bool (*)(JSContext*, unsigned int), void**)
Line
Count
Source
45
9
{
46
9
  static_assert(sizeof(From) == sizeof(To),
47
9
                "To and From must have the same size");
48
9
49
9
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
9
  // various STLs we use don't all provide it.
51
9
  static_assert(std::is_trivial<From>::value,
52
9
                "shouldn't bitwise-copy a type having non-trivial "
53
9
                "initialization");
54
9
  static_assert(std::is_trivial<To>::value,
55
9
                "shouldn't bitwise-copy a type having non-trivial "
56
9
                "initialization");
57
9
58
9
  std::memcpy(static_cast<void*>(aResult),
59
9
              static_cast<const void*>(&aFrom),
60
9
              sizeof(From));
61
9
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*)>(bool (*)(JSContext*), void**)
Line
Count
Source
45
18
{
46
18
  static_assert(sizeof(From) == sizeof(To),
47
18
                "To and From must have the same size");
48
18
49
18
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
18
  // various STLs we use don't all provide it.
51
18
  static_assert(std::is_trivial<From>::value,
52
18
                "shouldn't bitwise-copy a type having non-trivial "
53
18
                "initialization");
54
18
  static_assert(std::is_trivial<To>::value,
55
18
                "shouldn't bitwise-copy a type having non-trivial "
56
18
                "initialization");
57
18
58
18
  std::memcpy(static_cast<void*>(aResult),
59
18
              static_cast<const void*>(&aFrom),
60
18
              sizeof(From));
61
18
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::CheckIsObjectKind)>(bool (*)(JSContext*, js::CheckIsObjectKind), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, int)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(js::ObjectGroup*, jsid*, JS::Value*)>(bool (*)(js::ObjectGroup*, jsid*, JS::Value*), void**)
void mozilla::BitwiseCast<void*, void (*)(js::jit::ResumeFromException*)>(void (*)(js::jit::ResumeFromException*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSString*, JSString*)>(bool (*)(JSString*, JSString*), void**)
Line
Count
Source
45
4
{
46
4
  static_assert(sizeof(From) == sizeof(To),
47
4
                "To and From must have the same size");
48
4
49
4
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
4
  // various STLs we use don't all provide it.
51
4
  static_assert(std::is_trivial<From>::value,
52
4
                "shouldn't bitwise-copy a type having non-trivial "
53
4
                "initialization");
54
4
  static_assert(std::is_trivial<To>::value,
55
4
                "shouldn't bitwise-copy a type having non-trivial "
56
4
                "initialization");
57
4
58
4
  std::memcpy(static_cast<void*>(aResult),
59
4
              static_cast<const void*>(&aFrom),
60
4
              sizeof(From));
61
4
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, js::Shape*)>(bool (*)(JSContext*, JSObject*, js::Shape*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*, unsigned int)>(bool (*)(JSContext*, js::NativeObject*, unsigned int), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(JSContext*, js::TypedArrayObject*, int)>(void (*)(JSContext*, js::TypedArrayObject*, int), void**)
void mozilla::BitwiseCast<void*, void (*)(JSContext*)>(void (*)(JSContext*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::BaselineBailoutInfo*)>(unsigned int (*)(js::jit::BaselineBailoutInfo*), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(char const*)>(void (*)(char const*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(char const*, unsigned long)>(void (*)(char const*, unsigned long), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<unsigned long, bool (*)(JSContext*, unsigned int, JS::Value*)>(bool (*)(JSContext*, unsigned int, JS::Value*), unsigned long*)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, bool*), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<js::ObjectGroup*>, unsigned int, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<js::ObjectGroup*>, unsigned int, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
9
{
46
9
  static_assert(sizeof(From) == sizeof(To),
47
9
                "To and From must have the same size");
48
9
49
9
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
9
  // various STLs we use don't all provide it.
51
9
  static_assert(std::is_trivial<From>::value,
52
9
                "shouldn't bitwise-copy a type having non-trivial "
53
9
                "initialization");
54
9
  static_assert(std::is_trivial<To>::value,
55
9
                "shouldn't bitwise-copy a type having non-trivial "
56
9
                "initialization");
57
9
58
9
  std::memcpy(static_cast<void*>(aResult),
59
9
              static_cast<const void*>(&aFrom),
60
9
              sizeof(From));
61
9
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::BailoutStack*, js::jit::BaselineBailoutInfo**)>(unsigned int (*)(js::jit::BailoutStack*, js::jit::BaselineBailoutInfo**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(js::jit::BaselineFrame*, js::InterpreterFrame*, unsigned int)>(bool (*)(js::jit::BaselineFrame*, js::InterpreterFrame*, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::InvalidationBailoutStack*, unsigned long*, js::jit::BaselineBailoutInfo**)>(unsigned int (*)(js::jit::InvalidationBailoutStack*, unsigned long*, js::jit::BaselineBailoutInfo**), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*, bool*)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*, bool*), void**)
Line
Count
Source
45
12
{
46
12
  static_assert(sizeof(From) == sizeof(To),
47
12
                "To and From must have the same size");
48
12
49
12
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
12
  // various STLs we use don't all provide it.
51
12
  static_assert(std::is_trivial<From>::value,
52
12
                "shouldn't bitwise-copy a type having non-trivial "
53
12
                "initialization");
54
12
  static_assert(std::is_trivial<To>::value,
55
12
                "shouldn't bitwise-copy a type having non-trivial "
56
12
                "initialization");
57
12
58
12
  std::memcpy(static_cast<void*>(aResult),
59
12
              static_cast<const void*>(&aFrom),
60
12
              sizeof(From));
61
12
}
Unexecuted instantiation: void mozilla::BitwiseCast<float, int>(int, float*)
Unexecuted instantiation: void mozilla::BitwiseCast<double, long>(long, double*)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, bool (*)()>(bool (*)(), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void* (*)()>(void* (*)(), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)()>(void (*)(), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, int, int, unsigned long*)>(int (*)(js::wasm::Instance*, int, int, unsigned long*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(JS::Value*)>(int (*)(JS::Value*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(int, js::wasm::TlsData*, JS::Value*)>(int (*)(int, js::wasm::TlsData*, JS::Value*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, long (*)(unsigned int, unsigned int, unsigned int, unsigned int)>(long (*)(unsigned int, unsigned int, unsigned int, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, unsigned long (*)(double)>(unsigned long (*)(double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, long (*)(double)>(long (*)(double), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, double (*)(int, unsigned int)>(double (*)(int, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, float (*)(int, unsigned int)>(float (*)(int, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, unsigned int (*)(js::wasm::Instance*, unsigned int)>(unsigned int (*)(js::wasm::Instance*, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, unsigned int (*)(js::wasm::Instance*)>(unsigned int (*)(js::wasm::Instance*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, int, long)>(int (*)(js::wasm::Instance*, unsigned int, int, long), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, long, long)>(int (*)(js::wasm::Instance*, unsigned int, long, long), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, int)>(int (*)(js::wasm::Instance*, unsigned int, int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::wasm::Instance*, js::gc::Cell**)>(void (*)(js::wasm::Instance*, js::gc::Cell**), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void* (*)(js::wasm::Instance*, unsigned int)>(void* (*)(js::wasm::Instance*, unsigned int), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void* (*)(js::wasm::Instance*, unsigned int, unsigned int, void*)>(void* (*)(js::wasm::Instance*, unsigned int, unsigned int, void*), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<void*, float (*)(float, float)>(float (*)(float, float), void**)
Unexecuted instantiation: void mozilla::BitwiseCast<int (*)(js::wasm::ExportArg*, js::wasm::TlsData*), void*>(void*, int (**)(js::wasm::ExportArg*, js::wasm::TlsData*))
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned int, unsigned int)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned int, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::jit::BaselineFrame*)>(void (*)(js::jit::BaselineFrame*), void**)
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*)>(bool (*)(JSContext*, js::jit::BaselineFrame*), void**)
Line
Count
Source
45
24
{
46
24
  static_assert(sizeof(From) == sizeof(To),
47
24
                "To and From must have the same size");
48
24
49
24
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
24
  // various STLs we use don't all provide it.
51
24
  static_assert(std::is_trivial<From>::value,
52
24
                "shouldn't bitwise-copy a type having non-trivial "
53
24
                "initialization");
54
24
  static_assert(std::is_trivial<To>::value,
55
24
                "shouldn't bitwise-copy a type having non-trivial "
56
24
                "initialization");
57
24
58
24
  std::memcpy(static_cast<void*>(aResult),
59
24
              static_cast<const void*>(&aFrom),
60
24
              sizeof(From));
61
24
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*), void**)
Line
Count
Source
45
18
{
46
18
  static_assert(sizeof(From) == sizeof(To),
47
18
                "To and From must have the same size");
48
18
49
18
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
18
  // various STLs we use don't all provide it.
51
18
  static_assert(std::is_trivial<From>::value,
52
18
                "shouldn't bitwise-copy a type having non-trivial "
53
18
                "initialization");
54
18
  static_assert(std::is_trivial<To>::value,
55
18
                "shouldn't bitwise-copy a type having non-trivial "
56
18
                "initialization");
57
18
58
18
  std::memcpy(static_cast<void*>(aResult),
59
18
              static_cast<const void*>(&aFrom),
60
18
              sizeof(From));
61
18
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
6
{
46
6
  static_assert(sizeof(From) == sizeof(To),
47
6
                "To and From must have the same size");
48
6
49
6
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
6
  // various STLs we use don't all provide it.
51
6
  static_assert(std::is_trivial<From>::value,
52
6
                "shouldn't bitwise-copy a type having non-trivial "
53
6
                "initialization");
54
6
  static_assert(std::is_trivial<To>::value,
55
6
                "shouldn't bitwise-copy a type having non-trivial "
56
6
                "initialization");
57
6
58
6
  std::memcpy(static_cast<void*>(aResult),
59
6
              static_cast<const void*>(&aFrom),
60
6
              sizeof(From));
61
6
}
void mozilla::BitwiseCast<void*, void (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(void (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ArrayObject*>, js::gc::InitialHeap)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ArrayObject*>, js::gc::InitialHeap), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, bool*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::LexicalScope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::LexicalScope*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::Scope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::Scope*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<JS::Value>, JS::Handle<js::WithScope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<JS::Value>, JS::Handle<js::WithScope*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, js::jit::BaselineFrame*)>(JSObject* (*)(JSContext*, js::jit::BaselineFrame*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, js::jit::BaselineFrame*, unsigned char*, unsigned int)>(bool (*)(JSContext*, JS::Handle<JSObject*>, js::jit::BaselineFrame*, unsigned char*, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned char*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned char*), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::GeneratorObject*>, JS::Handle<JS::Value>, unsigned int)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::GeneratorObject*>, JS::Handle<JS::Value>, unsigned int), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JS::Value>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
void mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>), void**)
Line
Count
Source
45
3
{
46
3
  static_assert(sizeof(From) == sizeof(To),
47
3
                "To and From must have the same size");
48
3
49
3
  // We could maybe downgrade these to std::is_trivially_copyable, but the
50
3
  // various STLs we use don't all provide it.
51
3
  static_assert(std::is_trivial<From>::value,
52
3
                "shouldn't bitwise-copy a type having non-trivial "
53
3
                "initialization");
54
3
  static_assert(std::is_trivial<To>::value,
55
3
                "shouldn't bitwise-copy a type having non-trivial "
56
3
                "initialization");
57
3
58
3
  std::memcpy(static_cast<void*>(aResult),
59
3
              static_cast<const void*>(&aFrom),
60
3
              sizeof(From));
61
3
}
Unexecuted instantiation: void mozilla::BitwiseCast<void*, void (*)(js::jit::BaselineFrame*, JS::Value*, bool)>(void (*)(js::jit::BaselineFrame*, JS::Value*, bool), void**)
62
63
template<typename To, typename From>
64
inline To
65
BitwiseCast(const From aFrom)
66
1.64M
{
67
1.64M
  To temp;
68
1.64M
  BitwiseCast<To, From>(aFrom, &temp);
69
1.64M
  return temp;
70
1.64M
}
unsigned long mozilla::BitwiseCast<unsigned long, double>(double)
Line
Count
Source
66
17.7k
{
67
17.7k
  To temp;
68
17.7k
  BitwiseCast<To, From>(aFrom, &temp);
69
17.7k
  return temp;
70
17.7k
}
Unexecuted instantiation: unsigned int mozilla::BitwiseCast<unsigned int, float>(float)
double mozilla::BitwiseCast<double, unsigned long>(unsigned long)
Line
Count
Source
66
1.43k
{
67
1.43k
  To temp;
68
1.43k
  BitwiseCast<To, From>(aFrom, &temp);
69
1.43k
  return temp;
70
1.43k
}
Unexecuted instantiation: unsigned char const* mozilla::BitwiseCast<unsigned char const*, char const*>(char const*)
Unexecuted instantiation: char* mozilla::BitwiseCast<char*, unsigned char*>(unsigned char*)
Unexecuted instantiation: unsigned char* mozilla::BitwiseCast<unsigned char*, char*>(char*)
bool (*mozilla::BitwiseCast<bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>), JSObject*>(JSObject*))(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)
Line
Count
Source
66
27
{
67
27
  To temp;
68
27
  BitwiseCast<To, From>(aFrom, &temp);
69
27
  return temp;
70
27
}
bool (*mozilla::BitwiseCast<bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&), JSObject*>(JSObject*))(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&)
Line
Count
Source
66
27
{
67
27
  To temp;
68
27
  BitwiseCast<To, From>(aFrom, &temp);
69
27
  return temp;
70
27
}
Unexecuted instantiation: JSObject* mozilla::BitwiseCast<JSObject*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>))
Unexecuted instantiation: JSObject* mozilla::BitwiseCast<JSObject*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, JS::ObjectOpResult&))
Unexecuted instantiation: int mozilla::BitwiseCast<int, unsigned int>(unsigned int)
Unexecuted instantiation: gfxAlphaType mozilla::BitwiseCast<gfxAlphaType, unsigned int>(unsigned int)
Unexecuted instantiation: unsigned int mozilla::BitwiseCast<unsigned int, int>(int)
Unexecuted instantiation: unsigned int mozilla::BitwiseCast<unsigned int, gfxAlphaType>(gfxAlphaType)
Unexecuted instantiation: float mozilla::BitwiseCast<float, unsigned int>(unsigned int)
Unexecuted instantiation: unsigned char* mozilla::BitwiseCast<unsigned char*, unsigned long*>(unsigned long*)
Unexecuted instantiation: unsigned char* mozilla::BitwiseCast<unsigned char*, char const*>(char const*)
Unexecuted instantiation: unsigned char* mozilla::BitwiseCast<unsigned char*, unsigned char*>(unsigned char*)
Unexecuted instantiation: unsigned char const* mozilla::BitwiseCast<unsigned char const*, unsigned int const*>(unsigned int const*)
Unexecuted instantiation: char const* mozilla::BitwiseCast<char const*, unsigned char const*>(unsigned char const*)
Unexecuted instantiation: char const* mozilla::BitwiseCast<char const*, unsigned int const*>(unsigned int const*)
Unexecuted instantiation: unsigned long const* mozilla::BitwiseCast<unsigned long const*, char const*>(char const*)
Unexecuted instantiation: unsigned int const* mozilla::BitwiseCast<unsigned int const*, char const*>(char const*)
Unexecuted instantiation: nsNSSSocketInfo* mozilla::BitwiseCast<nsNSSSocketInfo*, PRFilePrivate*>(PRFilePrivate*)
Unexecuted instantiation: nsNSSCertificate* mozilla::BitwiseCast<nsNSSCertificate*, nsIX509Cert*>(nsIX509Cert*)
Unexecuted instantiation: SecurityPropertySource* mozilla::BitwiseCast<SecurityPropertySource*, unsigned int*>(unsigned int*)
Unexecuted instantiation: unsigned int* mozilla::BitwiseCast<unsigned int*, char const*>(char const*)
void (*mozilla::BitwiseCast<void (*)(void*, unsigned int, JS::Value*, js::InterpreterFrame*, void*, JSObject*, unsigned long, JS::Value*), unsigned char*>(unsigned char*))(void*, unsigned int, JS::Value*, js::InterpreterFrame*, void*, JSObject*, unsigned long, JS::Value*)
Line
Count
Source
66
1.62M
{
67
1.62M
  To temp;
68
1.62M
  BitwiseCast<To, From>(aFrom, &temp);
69
1.62M
  return temp;
70
1.62M
}
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JS::Value*)>(void (*)(JSRuntime*, JS::Value*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSString**)>(void (*)(JSRuntime*, JSString**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSObject**)>(void (*)(JSRuntime*, JSObject**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::Shape**)>(void (*)(JSRuntime*, js::Shape**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::ObjectGroup**)>(void (*)(JSRuntime*, js::ObjectGroup**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSRuntime*)>(bool (*)(JSRuntime*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(char16_t const*, char16_t const*, unsigned long)>(int (*)(char16_t const*, char16_t const*, unsigned long))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int, JS::Value*)>(bool (*)(JSContext*, unsigned int, JS::Value*))
Line
Count
Source
66
14
{
67
14
  To temp;
68
14
  BitwiseCast<To, From>(aFrom, &temp);
69
14
  return temp;
70
14
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICWarmUpCounter_Fallback*, js::jit::IonOsrTempData**)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICWarmUpCounter_Fallback*, js::jit::IonOsrTempData**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeMonitor_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeMonitor_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUpdatedStub*, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUpdatedStub*, JS::Handle<JS::Value>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICToBool_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICToBool_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::ICToNumber_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::ICToNumber_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetElem_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetElem_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetElem_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICHasOwn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICHasOwn_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBindName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBindName_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIntrinsic_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIntrinsic_Fallback*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetProp_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetProp_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICSetProp_Fallback*, JS::Value*, JS::Handle<JS::Value>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, JS::Value*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JS::Value*)>(bool (*)(JS::Value*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIterator_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICGetIterator_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIteratorMore_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICIteratorMore_Fallback*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSContext*, js::jit::ICIteratorClose_Fallback*, JS::Handle<JS::Value>)>(void (*)(JSContext*, js::jit::ICIteratorClose_Fallback*, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICInstanceOf_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICInstanceOf_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeOf_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICTypeOf_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRetSub_Fallback*, JS::Handle<JS::Value>, unsigned char**)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRetSub_Fallback*, JS::Handle<JS::Value>, unsigned char**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>))
Line
Count
Source
66
30
{
67
30
  To temp;
68
30
  BitwiseCast<To, From>(aFrom, &temp);
69
30
  return temp;
70
30
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRest_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICRest_Fallback*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUnaryArith_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICUnaryArith_Fallback*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBinaryArith_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICBinaryArith_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCompare_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICCompare_Fallback*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewArray_Fallback*, unsigned int, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewArray_Fallback*, unsigned int, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewObject_Fallback*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, js::jit::ICNewObject_Fallback*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::gc::StoreBuffer*, js::gc::Cell**)>(void (*)(js::gc::StoreBuffer*, js::gc::Cell**))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void* (*)(JSContext*, js::gc::AllocKind, unsigned long)>(void* (*)(JSContext*, js::gc::AllocKind, unsigned long))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::GlobalObject*)>(void (*)(JSRuntime*, js::GlobalObject*))
js::Shape* mozilla::BitwiseCast<js::Shape*, unsigned long>(unsigned long)
Line
Count
Source
66
128
{
67
128
  To temp;
68
128
  BitwiseCast<To, From>(aFrom, &temp);
69
128
  return temp;
70
128
}
JSObject* mozilla::BitwiseCast<JSObject*, unsigned long>(unsigned long)
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
js::ObjectGroup* mozilla::BitwiseCast<js::ObjectGroup*, unsigned long>(unsigned long)
Line
Count
Source
66
21
{
67
21
  To temp;
68
21
  BitwiseCast<To, From>(aFrom, &temp);
69
21
  return temp;
70
21
}
JS::Symbol* mozilla::BitwiseCast<JS::Symbol*, unsigned long>(unsigned long)
Line
Count
Source
66
1
{
67
1
  To temp;
68
1
  BitwiseCast<To, From>(aFrom, &temp);
69
1
  return temp;
70
1
}
JSString* mozilla::BitwiseCast<JSString*, unsigned long>(unsigned long)
Line
Count
Source
66
25
{
67
25
  To temp;
68
25
  BitwiseCast<To, From>(aFrom, &temp);
69
25
  return temp;
70
25
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSString*, double*)>(bool (*)(JSContext*, JSString*, double*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(JSString*)>(int (*)(JSString*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(double, double)>(double (*)(double, double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(double)>(int (*)(double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, JSString* (*)(JSObject*, JSRuntime*)>(JSString* (*)(JSObject*, JSRuntime*))
void* mozilla::BitwiseCast<void*, bool (*)(JSObject*)>(bool (*)(JSObject*))
Line
Count
Source
66
15
{
67
15
  To temp;
68
15
  BitwiseCast<To, From>(aFrom, &temp);
69
15
  return temp;
70
15
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, JSObject*, int)>(void (*)(JSRuntime*, JSObject*, int))
void* mozilla::BitwiseCast<void*, void (*)(JSRuntime*, js::gc::Cell*)>(void (*)(JSRuntime*, js::gc::Cell*))
Line
Count
Source
66
16
{
67
16
  To temp;
68
16
  BitwiseCast<To, From>(aFrom, &temp);
69
16
  return temp;
70
16
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JSObject*)>(JSObject* (*)(JSContext*, JSObject*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, JS::Value*)>(bool (*)(JSContext*, JSObject*, JS::Value*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*, int, JS::Value*)>(bool (*)(JSContext*, js::NativeObject*, int, JS::Value*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, js::PropertyName*, JS::Value*)>(bool (*)(JSContext*, JSObject*, js::PropertyName*, JS::Value*))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSFlatString* (*)(JSContext*, int)>(JSFlatString* (*)(JSContext*, int))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, double)>(JSString* (*)(JSContext*, double))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropertyIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropertyIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonSetPropertyIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonSetPropertyIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropSuperIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetPropSuperIC*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetNameIC*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetNameIC*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonHasOwnIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, int*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonHasOwnIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBindNameIC*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBindNameIC*, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetIteratorIC*, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonGetIteratorIC*, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInstanceOfIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonInstanceOfIC*, JS::Handle<JS::Value>, JS::Handle<JSObject*>, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonUnaryArithIC*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonUnaryArithIC*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBinaryArithIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonBinaryArithIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonCompareIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, js::jit::IonCompareIC*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JS::Value>)>(JSString* (*)(JSContext*, JS::Handle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JS::Value>, bool)>(JSObject* (*)(JSContext*, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::RegExpObject*>)>(JSObject* (*)(JSContext*, JS::Handle<js::RegExpObject*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void* (*)(JSContext*)>(void* (*)(JSContext*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, int*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, js::MatchPairs*, int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, int*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>, int, int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*)>(bool (*)(JSContext*, JSObject*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, JSObject*)>(bool (*)(JSContext*, JSObject*, JSObject*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSString*, int*)>(bool (*)(JSContext*, JSString*, int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<JSString*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSFunction* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JSObject*>)>(JSFunction* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, JS::Handle<JSObject*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JS::Value>, FunctionPrefixKind)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JS::Value>, FunctionPrefixKind))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, void (*)(JSContext*, unsigned long)>(void (*)(JSContext*, unsigned long))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*)>(bool (*)(JSContext*, js::NativeObject*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>))
Line
Count
Source
66
18
{
67
18
  To temp;
68
18
  BitwiseCast<To, From>(aFrom, &temp);
69
18
  return temp;
70
18
}
void* mozilla::BitwiseCast<void*, js::LexicalEnvironmentObject* (*)(JSContext*, JS::Handle<js::LexicalScope*>, JS::Handle<JSObject*>, js::gc::InitialHeap)>(js::LexicalEnvironmentObject* (*)(JSContext*, JS::Handle<js::LexicalScope*>, JS::Handle<JSObject*>, js::gc::InitialHeap))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, bool)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, bool, bool, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, bool, bool, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned int, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned int, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(JSContext*, JSObject*, JSString*, JS::Value*)>(void (*)(JSContext*, JSObject*, JSString*, JS::Value*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Handle<JS::Value>, JS::Handle<JSString*>, unsigned char*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Handle<JS::Value>, JS::Handle<JSString*>, unsigned char*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int, JS::Handle<JSObject*>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int, JS::Handle<JSObject*>))
Line
Count
Source
66
9
{
67
9
  To temp;
68
9
  BitwiseCast<To, From>(aFrom, &temp);
69
9
  return temp;
70
9
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::Handle<JSFunction*>)>(bool (*)(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, JS::Handle<JSFunction*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, unsigned int, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, unsigned int, js::NewObjectKind))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, unsigned int, JS::Handle<js::ObjectGroup*>, bool)>(JSObject* (*)(JSContext*, unsigned int, JS::Handle<js::ObjectGroup*>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, int)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(double, double, double)>(double (*)(double, double, double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(double, double, double, double)>(double (*)(double, double, double, double))
void* mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, int)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::ArrayIteratorObject* (*)(JSContext*, js::NewObjectKind)>(js::ArrayIteratorObject* (*)(JSContext*, js::NewObjectKind))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::StringIteratorObject* (*)(JSContext*, js::NewObjectKind)>(js::StringIteratorObject* (*)(JSContext*, js::NewObjectKind))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::TypedArrayObject* (*)(JSContext*, JS::Handle<JSObject*>, int)>(js::TypedArrayObject* (*)(JSContext*, JS::Handle<JSObject*>, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, js::NewObjectKind)>(JSObject* (*)(JSContext*, JS::Handle<JSScript*>, unsigned char*, js::NewObjectKind))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::PlainObject* (*)(JSContext*, JS::Handle<js::PlainObject*>)>(js::PlainObject* (*)(JSContext*, JS::Handle<js::PlainObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::InlineTypedObject* (*)(JSContext*, JS::Handle<js::InlineTypedObject*>, js::gc::InitialHeap)>(js::InlineTypedObject* (*)(JSContext*, JS::Handle<js::InlineTypedObject*>, js::gc::InitialHeap))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::NamedLambdaObject* (*)(JSContext*, JS::Handle<JSFunction*>, js::gc::InitialHeap)>(js::NamedLambdaObject* (*)(JSContext*, JS::Handle<JSFunction*>, js::gc::InitialHeap))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::Shape*>, JS::Handle<js::ObjectGroup*>)>(JSObject* (*)(JSContext*, JS::Handle<js::Shape*>, JS::Handle<js::ObjectGroup*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<js::Shape*>)>(JSObject* (*)(JSContext*, JS::Handle<js::Shape*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSString*>)>(JSObject* (*)(JSContext*, JS::Handle<JSString*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JSObject*>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JSObject*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PlainObject*>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PlainObject*>, JS::Handle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, js::jit::JitFrameLayout*, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, js::jit::JitFrameLayout*, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, js::ArgumentsObject* (*)(JSContext*, js::jit::JitFrameLayout*, JSObject*, js::ArgumentsObject*)>(js::ArgumentsObject* (*)(JSContext*, js::jit::JitFrameLayout*, JSObject*, js::ArgumentsObject*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
12
{
67
12
  To temp;
68
12
  BitwiseCast<To, From>(aFrom, &temp);
69
12
  return temp;
70
12
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::TypedArrayObject*, unsigned int, js::TypedArrayObject*)>(void (*)(js::TypedArrayObject*, unsigned int, js::TypedArrayObject*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(double, int)>(double (*)(double, int))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
36
{
67
36
  To temp;
68
36
  BitwiseCast<To, From>(aFrom, &temp);
69
36
  return temp;
70
36
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(double)>(double (*)(double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, float (*)(float)>(float (*)(float))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>, bool*))
Line
Count
Source
66
24
{
67
24
  To temp;
68
24
  BitwiseCast<To, From>(aFrom, &temp);
69
24
  return temp;
70
24
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool*))
Line
Count
Source
66
15
{
67
15
  To temp;
68
15
  BitwiseCast<To, From>(aFrom, &temp);
69
15
  return temp;
70
15
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, int, int)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, int, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void* (*)(JS::Zone*, unsigned long)>(void* (*)(JS::Zone*, unsigned long))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(void*)>(void (*)(void*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, unsigned char* (*)(JSContext*, js::jit::LazyLinkExitFrameLayout*)>(unsigned char* (*)(JSContext*, js::jit::LazyLinkExitFrameLayout*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::InterpreterStubExitFrameLayout*)>(bool (*)(JSContext*, js::jit::InterpreterStubExitFrameLayout*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, int, unsigned int*)>(bool (*)(JSContext*, JS::Handle<JSString*>, int, unsigned int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, int)>(JSString* (*)(JSContext*, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(double, double*, double*)>(void (*)(double, double*, double*))
void* mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, JS::Handle<JSString*>, JS::Handle<JSString*>, unsigned int)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ObjectGroup*>, JS::Handle<JSString*>, JS::Handle<JSString*>, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::NativeObject*>, int, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<js::NativeObject*>, int, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::NativeObject* (*)(JSContext*, JSObject*)>(js::NativeObject* (*)(JSContext*, JSObject*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
12
{
67
12
  To temp;
68
12
  BitwiseCast<To, From>(aFrom, &temp);
69
12
  return temp;
70
12
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::NativeObject*)>(void (*)(js::NativeObject*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*)>(bool (*)(JSContext*, JS::Handle<js::ArrayObject*>, JS::Handle<JS::Value>, unsigned int*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, int, int, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, int, int, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSString*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, void (*)(JSContext*, JSObject*)>(void (*)(JSContext*, JSObject*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSScript*>)>(bool (*)(JSContext*, JS::Handle<JSScript*>))
Line
Count
Source
66
9
{
67
9
  To temp;
68
9
  BitwiseCast<To, From>(aFrom, &temp);
69
9
  return temp;
70
9
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, unsigned int, JS::Value*, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, unsigned int, JS::Value*, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, unsigned int, JS::Handle<JS::Value>)>(bool (*)(JSContext*, unsigned char*, JS::Handle<JSObject*>, unsigned int, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool, unsigned char*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool, unsigned char*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, bool*))
Line
Count
Source
66
12
{
67
12
  To temp;
68
12
  BitwiseCast<To, From>(aFrom, &temp);
69
12
  return temp;
70
12
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>))
Line
Count
Source
66
12
{
67
12
  To temp;
68
12
  BitwiseCast<To, From>(aFrom, &temp);
69
12
  return temp;
70
12
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, unsigned int, JS::Handle<JSObject*>, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JSObject*, bool*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JSObject*, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitSetterCallArgs)>(bool (*)(JSContext*, JS::Handle<JSObject*>, void*, JSJitSetterCallArgs))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, js::CheckIsCallableKind)>(bool (*)(JSContext*, JS::Handle<JS::Value>, js::CheckIsCallableKind))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSObject*>)>(JSString* (*)(JSContext*, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, unsigned int)>(bool (*)(JSContext*, unsigned int))
Line
Count
Source
66
9
{
67
9
  To temp;
68
9
  BitwiseCast<To, From>(aFrom, &temp);
69
9
  return temp;
70
9
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*)>(bool (*)(JSContext*))
Line
Count
Source
66
18
{
67
18
  To temp;
68
18
  BitwiseCast<To, From>(aFrom, &temp);
69
18
  return temp;
70
18
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::CheckIsObjectKind)>(bool (*)(JSContext*, js::CheckIsObjectKind))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, int)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(js::ObjectGroup*, jsid*, JS::Value*)>(bool (*)(js::ObjectGroup*, jsid*, JS::Value*))
void* mozilla::BitwiseCast<void*, void (*)(js::jit::ResumeFromException*)>(void (*)(js::jit::ResumeFromException*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSString*, JSString*)>(bool (*)(JSString*, JSString*))
Line
Count
Source
66
4
{
67
4
  To temp;
68
4
  BitwiseCast<To, From>(aFrom, &temp);
69
4
  return temp;
70
4
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JSObject*, js::Shape*)>(bool (*)(JSContext*, JSObject*, js::Shape*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::NativeObject*, unsigned int)>(bool (*)(JSContext*, js::NativeObject*, unsigned int))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(JSContext*, js::TypedArrayObject*, int)>(void (*)(JSContext*, js::TypedArrayObject*, int))
void* mozilla::BitwiseCast<void*, void (*)(JSContext*)>(void (*)(JSContext*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::BaselineBailoutInfo*)>(unsigned int (*)(js::jit::BaselineBailoutInfo*))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(char const*)>(void (*)(char const*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(char const*, unsigned long)>(void (*)(char const*, unsigned long))
Unexecuted instantiation: unsigned long mozilla::BitwiseCast<unsigned long, bool (*)(JSContext*, unsigned int, JS::Value*)>(bool (*)(JSContext*, unsigned int, JS::Value*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, bool*)>(bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, bool*))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<js::ObjectGroup*>, unsigned int, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>, JS::Handle<js::ObjectGroup*>, unsigned int, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>)>(JSString* (*)(JSContext*, JS::Handle<JSString*>, JS::Handle<JSString*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
9
{
67
9
  To temp;
68
9
  BitwiseCast<To, From>(aFrom, &temp);
69
9
  return temp;
70
9
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::BailoutStack*, js::jit::BaselineBailoutInfo**)>(unsigned int (*)(js::jit::BailoutStack*, js::jit::BaselineBailoutInfo**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(js::jit::BaselineFrame*, js::InterpreterFrame*, unsigned int)>(bool (*)(js::jit::BaselineFrame*, js::InterpreterFrame*, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, unsigned int (*)(js::jit::InvalidationBailoutStack*, unsigned long*, js::jit::BaselineBailoutInfo**)>(unsigned int (*)(js::jit::InvalidationBailoutStack*, unsigned long*, js::jit::BaselineBailoutInfo**))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*, bool*)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*, bool*))
Line
Count
Source
66
12
{
67
12
  To temp;
68
12
  BitwiseCast<To, From>(aFrom, &temp);
69
12
  return temp;
70
12
}
Unexecuted instantiation: float mozilla::BitwiseCast<float, int>(int)
Unexecuted instantiation: double mozilla::BitwiseCast<double, long>(long)
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, bool (*)()>(bool (*)())
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void* (*)()>(void* (*)())
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)()>(void (*)())
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, int, int, unsigned long*)>(int (*)(js::wasm::Instance*, int, int, unsigned long*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(JS::Value*)>(int (*)(JS::Value*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(int, js::wasm::TlsData*, JS::Value*)>(int (*)(int, js::wasm::TlsData*, JS::Value*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, long (*)(unsigned int, unsigned int, unsigned int, unsigned int)>(long (*)(unsigned int, unsigned int, unsigned int, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, unsigned long (*)(double)>(unsigned long (*)(double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, long (*)(double)>(long (*)(double))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, double (*)(int, unsigned int)>(double (*)(int, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, float (*)(int, unsigned int)>(float (*)(int, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, unsigned int (*)(js::wasm::Instance*, unsigned int)>(unsigned int (*)(js::wasm::Instance*, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, unsigned int (*)(js::wasm::Instance*)>(unsigned int (*)(js::wasm::Instance*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, int, long)>(int (*)(js::wasm::Instance*, unsigned int, int, long))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, long, long)>(int (*)(js::wasm::Instance*, unsigned int, long, long))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, int)>(int (*)(js::wasm::Instance*, unsigned int, int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int, unsigned int)>(int (*)(js::wasm::Instance*, unsigned int, unsigned int, unsigned int, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::wasm::Instance*, js::gc::Cell**)>(void (*)(js::wasm::Instance*, js::gc::Cell**))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void* (*)(js::wasm::Instance*, unsigned int)>(void* (*)(js::wasm::Instance*, unsigned int))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void* (*)(js::wasm::Instance*, unsigned int, unsigned int, void*)>(void* (*)(js::wasm::Instance*, unsigned int, unsigned int, void*))
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, float (*)(float, float)>(float (*)(float, float))
Unexecuted instantiation: int (*mozilla::BitwiseCast<int (*)(js::wasm::ExportArg*, js::wasm::TlsData*), void*>(void*))(js::wasm::ExportArg*, js::wasm::TlsData*)
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned int, unsigned int)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned int, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::jit::BaselineFrame*)>(void (*)(js::jit::BaselineFrame*))
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*)>(bool (*)(JSContext*, js::jit::BaselineFrame*))
Line
Count
Source
66
24
{
67
24
  To temp;
68
24
  BitwiseCast<To, From>(aFrom, &temp);
69
24
  return temp;
70
24
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*)>(bool (*)(JSContext*, js::jit::BaselineFrame*, unsigned char*))
Line
Count
Source
66
18
{
67
18
  To temp;
68
18
  BitwiseCast<To, From>(aFrom, &temp);
69
18
  return temp;
70
18
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
6
{
67
6
  To temp;
68
6
  BitwiseCast<To, From>(aFrom, &temp);
69
6
  return temp;
70
6
}
void* mozilla::BitwiseCast<void*, void (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(void (*)(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, js::ArrayObject* (*)(JSContext*, JS::Handle<js::ArrayObject*>, js::gc::InitialHeap)>(js::ArrayObject* (*)(JSContext*, JS::Handle<js::ArrayObject*>, js::gc::InitialHeap))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::Handle<JS::Value>, bool))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<js::PropertyName*>, JS::Handle<JSObject*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JS::Value>, bool*)>(bool (*)(JSContext*, JS::Handle<JS::Value>, bool*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::LexicalScope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::LexicalScope*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::Scope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::Scope*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<JS::Value>, JS::Handle<js::WithScope*>)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<JS::Value>, JS::Handle<js::WithScope*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, js::jit::BaselineFrame*)>(JSObject* (*)(JSContext*, js::jit::BaselineFrame*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, js::jit::BaselineFrame*, unsigned char*, unsigned int)>(bool (*)(JSContext*, JS::Handle<JSObject*>, js::jit::BaselineFrame*, unsigned char*, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned char*)>(bool (*)(JSContext*, JS::Handle<JSObject*>, unsigned char*))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>)>(bool (*)(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::GeneratorObject*>, JS::Handle<JS::Value>, unsigned int)>(bool (*)(JSContext*, js::jit::BaselineFrame*, JS::Handle<js::GeneratorObject*>, JS::Handle<JS::Value>, unsigned int))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JS::Value>)>(JSObject* (*)(JSContext*, JS::Handle<JS::Value>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
void* mozilla::BitwiseCast<void*, JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>)>(JSObject* (*)(JSContext*, JS::Handle<JSFunction*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
Line
Count
Source
66
3
{
67
3
  To temp;
68
3
  BitwiseCast<To, From>(aFrom, &temp);
69
3
  return temp;
70
3
}
Unexecuted instantiation: void* mozilla::BitwiseCast<void*, void (*)(js::jit::BaselineFrame*, JS::Value*, bool)>(void (*)(js::jit::BaselineFrame*, JS::Value*, bool))
71
72
namespace detail {
73
74
enum ToSignedness { ToIsSigned, ToIsUnsigned };
75
enum FromSignedness { FromIsSigned, FromIsUnsigned };
76
77
template<typename From,
78
         typename To,
79
         FromSignedness = IsSigned<From>::value ? FromIsSigned : FromIsUnsigned,
80
         ToSignedness = IsSigned<To>::value ? ToIsSigned : ToIsUnsigned>
81
struct BoundsCheckImpl;
82
83
// Implicit conversions on operands to binary operations make this all a bit
84
// hard to verify.  Attempt to ease the pain below by *only* comparing values
85
// that are obviously the same type (and will undergo no further conversions),
86
// even when it's not strictly necessary, for explicitness.
87
88
enum UUComparison { FromIsBigger, FromIsNotBigger };
89
90
// Unsigned-to-unsigned range check
91
92
template<typename From, typename To,
93
         UUComparison = (sizeof(From) > sizeof(To))
94
                        ? FromIsBigger
95
                        : FromIsNotBigger>
96
struct UnsignedUnsignedCheck;
97
98
template<typename From, typename To>
99
struct UnsignedUnsignedCheck<From, To, FromIsBigger>
100
{
101
public:
102
  static bool checkBounds(const From aFrom)
103
  {
104
    return aFrom <= From(To(-1));
105
  }
106
};
107
108
template<typename From, typename To>
109
struct UnsignedUnsignedCheck<From, To, FromIsNotBigger>
110
{
111
public:
112
  static bool checkBounds(const From aFrom)
113
  {
114
    return true;
115
  }
116
};
117
118
template<typename From, typename To>
119
struct BoundsCheckImpl<From, To, FromIsUnsigned, ToIsUnsigned>
120
{
121
public:
122
  static bool checkBounds(const From aFrom)
123
  {
124
    return UnsignedUnsignedCheck<From, To>::checkBounds(aFrom);
125
  }
126
};
127
128
// Signed-to-unsigned range check
129
130
template<typename From, typename To>
131
struct BoundsCheckImpl<From, To, FromIsSigned, ToIsUnsigned>
132
{
133
public:
134
  static bool checkBounds(const From aFrom)
135
  {
136
    if (aFrom < 0) {
137
      return false;
138
    }
139
    if (sizeof(To) >= sizeof(From)) {
140
      return true;
141
    }
142
    return aFrom <= From(To(-1));
143
  }
144
};
145
146
// Unsigned-to-signed range check
147
148
enum USComparison { FromIsSmaller, FromIsNotSmaller };
149
150
template<typename From, typename To,
151
         USComparison = (sizeof(From) < sizeof(To))
152
                        ? FromIsSmaller
153
                        : FromIsNotSmaller>
154
struct UnsignedSignedCheck;
155
156
template<typename From, typename To>
157
struct UnsignedSignedCheck<From, To, FromIsSmaller>
158
{
159
public:
160
  static bool checkBounds(const From aFrom)
161
  {
162
    return true;
163
  }
164
};
165
166
template<typename From, typename To>
167
struct UnsignedSignedCheck<From, To, FromIsNotSmaller>
168
{
169
public:
170
  static bool checkBounds(const From aFrom)
171
  {
172
    const To MaxValue = To((1ULL << (CHAR_BIT * sizeof(To) - 1)) - 1);
173
    return aFrom <= From(MaxValue);
174
  }
175
};
176
177
template<typename From, typename To>
178
struct BoundsCheckImpl<From, To, FromIsUnsigned, ToIsSigned>
179
{
180
public:
181
  static bool checkBounds(const From aFrom)
182
  {
183
    return UnsignedSignedCheck<From, To>::checkBounds(aFrom);
184
  }
185
};
186
187
// Signed-to-signed range check
188
189
template<typename From, typename To>
190
struct BoundsCheckImpl<From, To, FromIsSigned, ToIsSigned>
191
{
192
public:
193
  static bool checkBounds(const From aFrom)
194
  {
195
    if (sizeof(From) <= sizeof(To)) {
196
      return true;
197
    }
198
    const To MaxValue = To((1ULL << (CHAR_BIT * sizeof(To) - 1)) - 1);
199
    const To MinValue = -MaxValue - To(1);
200
    return From(MinValue) <= aFrom &&
201
           From(aFrom) <= From(MaxValue);
202
  }
203
};
204
205
template<typename From, typename To,
206
         bool TypesAreIntegral = IsIntegral<From>::value &&
207
                                 IsIntegral<To>::value>
208
class BoundsChecker;
209
210
template<typename From>
211
class BoundsChecker<From, From, true>
212
{
213
public:
214
0
  static bool checkBounds(const From aFrom) { return true; }
215
};
216
217
template<typename From, typename To>
218
class BoundsChecker<From, To, true>
219
{
220
public:
221
  static bool checkBounds(const From aFrom)
222
  {
223
    return BoundsCheckImpl<From, To>::checkBounds(aFrom);
224
  }
225
};
226
227
template<typename From, typename To>
228
inline bool
229
IsInBounds(const From aFrom)
230
0
{
231
0
  return BoundsChecker<From, To>::checkBounds(aFrom);
232
0
}
233
234
} // namespace detail
235
236
/**
237
 * Cast a value of integral type |From| to a value of integral type |To|,
238
 * asserting that the cast will be a safe cast per C++ (that is, that |to| is in
239
 * the range of values permitted for the type |From|).
240
 */
241
template<typename To, typename From>
242
inline To
243
AssertedCast(const From aFrom)
244
2.56M
{
245
2.56M
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
2.56M
  return static_cast<To>(aFrom);
247
2.56M
}
Unexecuted instantiation: int mozilla::AssertedCast<int, unsigned long>(unsigned long)
Unexecuted instantiation: unsigned char mozilla::AssertedCast<unsigned char, long>(long)
Unexecuted instantiation: unsigned int mozilla::AssertedCast<unsigned int, int>(int)
unsigned long mozilla::AssertedCast<unsigned long, long>(long)
Line
Count
Source
244
992
{
245
992
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
992
  return static_cast<To>(aFrom);
247
992
}
Unexecuted instantiation: unsigned char mozilla::AssertedCast<unsigned char, unsigned long>(unsigned long)
Unexecuted instantiation: unsigned short mozilla::AssertedCast<unsigned short, int>(int)
int mozilla::AssertedCast<int, unsigned int>(unsigned int)
Line
Count
Source
244
3
{
245
3
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
3
  return static_cast<To>(aFrom);
247
3
}
unsigned short mozilla::AssertedCast<unsigned short, unsigned int>(unsigned int)
Line
Count
Source
244
9.07k
{
245
9.07k
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
9.07k
  return static_cast<To>(aFrom);
247
9.07k
}
unsigned int mozilla::AssertedCast<unsigned int, unsigned long>(unsigned long)
Line
Count
Source
244
1.66M
{
245
1.66M
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
1.66M
  return static_cast<To>(aFrom);
247
1.66M
}
Unexecuted instantiation: unsigned int mozilla::AssertedCast<unsigned int, unsigned int>(unsigned int)
char16_t mozilla::AssertedCast<char16_t, int>(int)
Line
Count
Source
244
866k
{
245
866k
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
866k
  return static_cast<To>(aFrom);
247
866k
}
Unexecuted instantiation: int mozilla::AssertedCast<int, int>(int)
Unexecuted instantiation: unsigned long mozilla::AssertedCast<unsigned long, int>(int)
unsigned char mozilla::AssertedCast<unsigned char, unsigned int>(unsigned int)
Line
Count
Source
244
1.89k
{
245
1.89k
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
1.89k
  return static_cast<To>(aFrom);
247
1.89k
}
unsigned char mozilla::AssertedCast<unsigned char, char16_t>(char16_t)
Line
Count
Source
244
17.8k
{
245
17.8k
  MOZ_ASSERT((detail::IsInBounds<From, To>(aFrom)));
246
17.8k
  return static_cast<To>(aFrom);
247
17.8k
}
Unexecuted instantiation: int mozilla::AssertedCast<int, char32_t>(char32_t)
Unexecuted instantiation: unsigned char mozilla::AssertedCast<unsigned char, unsigned char>(unsigned char)
248
249
/**
250
 * Cast a value of integral type |From| to a value of integral type |To|,
251
 * release asserting that the cast will be a safe cast per C++ (that is, that
252
 * |to| is in the range of values permitted for the type |From|).
253
 */
254
template<typename To, typename From>
255
inline To
256
ReleaseAssertedCast(const From aFrom)
257
0
{
258
0
  MOZ_RELEASE_ASSERT((detail::IsInBounds<From, To>(aFrom)));
259
0
  return static_cast<To>(aFrom);
260
0
}
261
262
} // namespace mozilla
263
264
#endif /* mozilla_Casting_h */