Commit 00fff96c authored by Olli Pettay's avatar Olli Pettay
Browse files

Bug 1815069 - Increase page caches on foreground content processes, r=pbone

parent c1c5ec34
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -34,7 +34,11 @@ namespace mozilla::dom {
class DOMArena {
 public:
  friend class DocGroup;
  DOMArena() { mArenaId = moz_create_arena(); }
  DOMArena() {
    arena_params_t params;
    params.mMaxDirtyIncreaseOverride = 5;
    mArenaId = moz_create_arena_with_params(&params);
  }

  NS_INLINE_DECL_REFCOUNTING(DOMArena)

+10 −0
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@
#include "nsIURIMutator.h"
#include "nsQueryObject.h"
#include "nsSandboxFlags.h"
#include "mozmemory.h"

#include "ChildProfilerController.h"

@@ -2816,6 +2817,15 @@ mozilla::ipc::IPCResult ContentChild::RecvNotifyProcessPriorityChanged(

  os->NotifyObservers(static_cast<nsIPropertyBag2*>(props),
                      "ipc:process-priority-changed", nullptr);

  if (mProcessPriority >= hal::PROCESS_PRIORITY_FOREGROUND) {
    moz_set_max_dirty_page_modifier(3);
  } else if (mProcessPriority == hal::PROCESS_PRIORITY_BACKGROUND) {
    moz_set_max_dirty_page_modifier(-1);
  } else {
    moz_set_max_dirty_page_modifier(0);
  }

  return IPC_OK();
}

+4 −1
Original line number Diff line number Diff line
@@ -105,9 +105,12 @@ JS_PUBLIC_DATA arena_id_t js::ArrayBufferContentsArena;
JS_PUBLIC_DATA arena_id_t js::StringBufferArena;

void js::InitMallocAllocator() {
  MallocArena = moz_create_arena();
  arena_params_t mallocArenaParams;
  mallocArenaParams.mMaxDirtyIncreaseOverride = 5;
  MallocArena = moz_create_arena_with_params(&mallocArenaParams);

  arena_params_t params;
  params.mMaxDirtyIncreaseOverride = 5;
  params.mFlags |= ARENA_FLAG_RANDOMIZE_SMALL_ENABLED;
  ArrayBufferContentsArena = moz_create_arena_with_params(&params);
  StringBufferArena = moz_create_arena_with_params(&params);