gcc13-fix.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Tue, 07 Mar 2023 11:48:25 +0100
branchfirefox110
changeset 1184 1c3d3217d679
permissions -rw-r--r--
110.0.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
--- a/tools/profiler/core/platform.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
+++ b/tools/profiler/core/platform.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
@@ -1176,11 +1176,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
       if (!profiledThreadData) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
         // This thread was not profiled, continue with the next one.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
         continue;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
       }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
-          offThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
+          offThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
       MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
           profiledThreadData->Info().RegisterTime(),
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
           lockedThreadData->GetJSContext(), profiledThreadData}));
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
@@ -4208,11 +4208,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
                   ProfileBufferEntry::Kind::RunningTimes, runningTimesDiff);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
             }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
             if (threadStackSampling) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
               ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
-                  lockedThreadData = offThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
+                  lockedThreadData = offThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
               // Suspend the thread and collect its stack data in the local
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
               // buffer.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
               mSampler.SuspendAndSampleAndResumeThread(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
                   lock, lockedThreadData.DataCRef(), now,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
                   [&](const Registers& aRegs, const TimeStamp& aNow) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
@@ -4922,11 +4922,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
     ThreadProfilingFeatures threadProfilingFeatures =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
         ActivePS::ProfilingFeaturesForThread(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
             aLock, aOffThreadRef.UnlockedConstReaderCRef().Info());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
     if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
-          lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
+          lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
       ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
           aLock, MakeUnique<ProfiledThreadData>(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
                      aOffThreadRef.UnlockedConstReaderCRef().Info()));
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
       lockedRWFromAnyThread->SetProfilingFeaturesAndData(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
@@ -5788,11 +5788,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
     ThreadProfilingFeatures threadProfilingFeatures =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
         ActivePS::ProfilingFeaturesForThread(aLock, info);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
     if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
       ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
-          offThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
+          offThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    51
       ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread(
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    52
           aLock, MakeUnique<ProfiledThreadData>(info));
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    53
       lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    54
                                                     profiledThreadData, aLock);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    55
       lockedThreadData->GetNewCpuTimeInNs();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
@@ -6012,11 +6012,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
         ThreadProfilingFeatures::NotProfiled) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
       continue;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
     ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
-        offThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    63
+        offThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    64
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    65
     lockedThreadData->ClearProfilingFeaturesAndData(aLock);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    66
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    67
     if (ActivePS::FeatureJS(aLock)) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    68
       lockedThreadData->StopJSSampling();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    69
@@ -6355,11 +6355,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    70
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    71
   // We don't call StopJSSampling() here; there's no point doing that for a JS
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    72
   // thread that is in the process of disappearing.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    73
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    74
   ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    75
-      aOnThreadRef.LockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    76
+      aOnThreadRef.GetLockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    77
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    78
   ProfiledThreadData* profiledThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    79
       lockedThreadData->GetProfiledThreadData(lock);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    80
   lockedThreadData->ClearProfilingFeaturesAndData(lock);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    81
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    82
@@ -6876,11 +6876,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    83
         }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    84
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    85
         // The profiler mutex must be locked before the ThreadRegistration's.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    86
         PSAutoLock lock;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    87
         ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    88
-            aOnThreadRef.LockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    89
+            aOnThreadRef.GetLockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    90
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    91
         if (ProfiledThreadData* profiledThreadData =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    92
                 lockedThreadData->GetProfiledThreadData(lock);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    93
             profiledThreadData && ActivePS::Exists(lock) &&
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    94
             ActivePS::FeatureJS(lock)) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    95
diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    96
--- a/tools/profiler/public/ProfilerThreadRegistration.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    97
+++ b/tools/profiler/public/ProfilerThreadRegistration.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    98
@@ -212,18 +212,18 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    99
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   100
       LockedRWOnThread& mLockedRWOnThread;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   101
       DataLock mDataLock;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   102
     };
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   103
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   104
-    [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   105
+    [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   106
       return RWOnThreadWithLock{mThreadRegistration->mData,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   107
                                 mThreadRegistration->mDataMutex};
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   108
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   109
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   110
     template <typename F>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   111
     auto WithLockedRWOnThread(F&& aF) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   112
-      RWOnThreadWithLock lockedData = LockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   113
+      RWOnThreadWithLock lockedData = GetLockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   114
       return std::forward<F>(aF)(lockedData.DataRef());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   115
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   116
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   117
     // This is needed to allow OnThreadPtr::operator-> to return a temporary
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   118
     // OnThreadRef object, for which `->` must work; Here it provides a pointer
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   119
diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   120
--- a/tools/profiler/public/ProfilerThreadRegistry.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   121
+++ b/tools/profiler/public/ProfilerThreadRegistry.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   122
@@ -175,18 +175,18 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   123
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   124
       LockedRWFromAnyThread& mLockedRWFromAnyThread;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   125
       ThreadRegistration::DataLock mDataLock;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   126
     };
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   127
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   128
-    [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   129
+    [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   130
       return RWFromAnyThreadWithLock{mThreadRegistration->mData,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   131
                                      mThreadRegistration->mDataMutex};
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   132
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   133
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   134
     template <typename F>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   135
     auto WithLockedRWFromAnyThread(F&& aF) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   136
-      RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   137
+      RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   138
       return std::forward<F>(aF)(lockedData.DataRef());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   139
     }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   140
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   141
    private:
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   142
     // Only ThreadRegistry should construct an OnThreadRef.
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   143
diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   144
--- a/tools/profiler/tests/gtest/GeckoProfiler.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   145
+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   146
@@ -620,11 +620,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   147
       // non-const LockedRWOnThread
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   148
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   149
       EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   150
       {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   151
         TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   152
-            aOnThreadRef.LockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   153
+            aOnThreadRef.GetLockedRWOnThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   154
         EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   155
         TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(),
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   156
                                   beforeRegistration, afterRegistration,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   157
                                   &onStackChar);
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   158
         TestLockedRWOnThread(rwOnThreadWithLock.DataRef(), beforeRegistration,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   159
@@ -1019,11 +1019,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   160
         // non-const LockedRWFromAnyThread
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   161
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   162
         EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   163
         {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   164
           TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   165
-              aOffThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   166
+              aOffThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   167
           if (profiler_current_thread_id() == testThreadId) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   168
             EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread());
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   169
           }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   170
           TestLockedRWFromAnyThread(rwFromAnyThreadWithLock.DataRef(),
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   171
                                     beforeRegistration, afterRegistration,
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   172
@@ -1156,11 +1156,11 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   173
                                                     aOffThreadRef) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   174
           if (otherThreadLoops % 1000 == 0) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   175
             PR_Sleep(PR_MillisecondsToInterval(1));
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   176
           }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   177
           TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock =
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   178
-              aOffThreadRef.LockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   179
+              aOffThreadRef.GetLockedRWFromAnyThread();
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   180
           ++otherThreadReads;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   181
           if (otherThreadReads % 1000 == 0) {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   182
             PR_Sleep(PR_MillisecondsToInterval(1));
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   183
           }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   184
         });
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   185
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   186
diff --git a/gfx/2d/Rect.h b/gfx/2d/Rect.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   187
--- a/gfx/2d/Rect.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   188
+++ b/gfx/2d/Rect.h
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   189
@@ -10,16 +10,17 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   190
 #include "BaseRect.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   191
 #include "BaseMargin.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   192
 #include "NumericTools.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   193
 #include "Point.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   194
 #include "Tools.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   195
 #include "mozilla/Maybe.h"
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   196
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   197
 #include <cmath>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   198
+#include <cstdint>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   199
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   200
 namespace mozilla {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   201
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   202
 template <typename>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   203
 struct IsPixel;
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   204
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   205
 namespace gfx {
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   206
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   207
diff --git a/toolkit/components/telemetry/pingsender/pingsender.cpp b/toolkit/components/telemetry/pingsender/pingsender.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   208
--- a/toolkit/components/telemetry/pingsender/pingsender.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   209
+++ b/toolkit/components/telemetry/pingsender/pingsender.cpp
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   210
@@ -1,14 +1,15 @@
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   211
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   212
 /* This Source Code Form is subject to the terms of the Mozilla Public
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   213
  * License, v. 2.0. If a copy of the MPL was not distributed with this
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   214
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   215
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   216
 #include <cstdlib>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   217
+#include <cstdint>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   218
 #include <cstring>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   219
 #include <ctime>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   220
 #include <fstream>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   221
 #include <iomanip>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   222
 #include <string>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   223
 #include <vector>
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   224
 
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   225
 #include <zlib.h>