Example #1
0
SharedMemory::SharedMemory()
  : mAllocSize(0)
  , mMappedSize(0)
{
  static Atomic<uint32_t> registered;
  if (registered.compareExchange(0, 1)) {
    RegisterStrongMemoryReporter(new ShmemAllocatedReporter());
    RegisterStrongMemoryReporter(new ShmemMappedReporter());
  }
}
Example #2
0
SharedMemory::SharedMemory()
  : mAllocSize(0)
  , mMappedSize(0)
{
  MOZ_COUNT_CTOR(SharedMemory);
  static Atomic<bool> registered;
  if (registered.compareExchange(false, true)) {
    RegisterStrongMemoryReporter(new ShmemReporter());
  }
}
Example #3
0
void
NS_DispatchEventualMemoryPressure(MemoryPressureState state)
{
  /*
   * A new memory pressure event erases an ongoing memory pressure, but an
   * existing "new" memory pressure event takes precedence over a new "ongoing"
   * memory pressure event.
   */
  switch (state) {
    case MemPressure_None:
      sMemoryPressurePending = MemPressure_None;
      break;
    case MemPressure_New:
      sMemoryPressurePending = MemPressure_New;
      break;
    case MemPressure_Ongoing:
      sMemoryPressurePending.compareExchange(MemPressure_None, MemPressure_Ongoing);
      break;
  }
}