chrome/moz.build
author Julian Seward <jseward@acm.org>
Tue, 31 Jan 2023 06:11:20 +0000
changeset 651017 3cb50cbf836e2e371e41a7b3c9ddd60a6010e109
parent 603256 fbc648281d1cb9e1c3a90ae869eeb28c5ae9687f
permissions -rw-r--r--
Bug 1812285 - wasm::InitExprInterpreter: use inline capacity for `::stack`. r=yury. The Dart Barista-3 benchmark gives the initial expression interpreter a lot of work. Profiling shows that wasm::InitExprInterpreter::stack heap-allocates around 37000 short-lifetime blocks to hold the stacked values. Using a 48-element inline capacity removes all of those allocations. (40 removes almost all, but not all). Similar ridealong fix: for the wasm parser iterator Iter<Policy>::valueStack_, increase inline capacity from 16 to 32. This takes out another 2500 allocations. Differential Revision: https://phabricator.services.mozilla.com/D167926

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

TEST_DIRS += ["test"]

XPIDL_SOURCES += [
    "nsIChromeRegistry.idl",
    "nsIToolkitChromeRegistry.idl",
]

XPIDL_MODULE = "chrome"

EXPORTS += [
    "nsChromeProtocolHandler.h",
]

EXPORTS.mozilla.chrome += [
    "RegistryMessageUtils.h",
]

UNIFIED_SOURCES += [
    "nsChromeProtocolHandler.cpp",
    "nsChromeRegistry.cpp",
    "nsChromeRegistryChrome.cpp",
    "nsChromeRegistryContent.cpp",
]

include("/ipc/chromium/chromium-config.mozbuild")

FINAL_LIBRARY = "xul"

LOCAL_INCLUDES += [
    "!/xpcom",
    "/dom/base",
    "/netwerk/base",
    "/netwerk/protocol/res",
    "/xpcom/components",
]

if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
    CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]

with Files("**"):
    BUG_COMPONENT = ("Toolkit", "Startup and Profile System")

REQUIRES_UNIFIED_BUILD = True