Bug 1465452 Part 14 - Record refcount changes for runnables, r=froydnj.
authorBrian Hackett <bhackett1024@gmail.com>
Sat, 21 Jul 2018 14:36:56 +0000
changeset 427685 d8f82b41f1af670b31d450bf9baa852b696c36ca
parent 427684 ebe594fec36d8c00a0f26c89bc284a1366de2d74
child 427686 b17cfac5aa3f0159ce781666aecc9976d566c276
push id105513
push userbhackett@mozilla.com
push dateSun, 22 Jul 2018 02:15:03 +0000
treeherdermozilla-inbound@b17cfac5aa3f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfroydnj
bugs1465452
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1465452 Part 14 - Record refcount changes for runnables, r=froydnj.
xpcom/threads/nsThreadUtils.h
--- a/xpcom/threads/nsThreadUtils.h
+++ b/xpcom/threads/nsThreadUtils.h
@@ -436,17 +436,19 @@ enum class RunnableKind
 // This class is designed to be subclassed.
 class Runnable
   : public nsIRunnable
 #ifdef MOZ_COLLECTING_RUNNABLE_TELEMETRY
   , public nsINamed
 #endif
 {
 public:
-  NS_DECL_THREADSAFE_ISUPPORTS
+  // Runnable refcount changes are preserved when recording/replaying to ensure
+  // that they are destroyed at consistent points.
+  NS_DECL_THREADSAFE_ISUPPORTS_WITH_RECORDING(recordreplay::Behavior::Preserve)
   NS_DECL_NSIRUNNABLE
 #ifdef MOZ_COLLECTING_RUNNABLE_TELEMETRY
   NS_DECL_NSINAMED
 #endif
 
   Runnable() = delete;
 
 #ifdef MOZ_COLLECTING_RUNNABLE_TELEMETRY