1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7# Some huge-mapping optimization instead of bounds checks on supported
8# platforms.
9if CONFIG['JS_CODEGEN_X64'] or CONFIG['JS_CODEGEN_ARM64']:
10    DEFINES['WASM_SUPPORTS_HUGE_MEMORY'] = True
11
12# Enables CACHEIR_LOGS to diagnose IC coverage, and
13# Structured spewer for diagnostics
14if CONFIG['MOZ_DEBUG'] or CONFIG['NIGHTLY_BUILD']:
15    DEFINES['JS_CACHEIR_SPEW'] = True
16    DEFINES['JS_STRUCTURED_SPEW'] = True
17
18# CTypes
19if CONFIG['JS_HAS_CTYPES']:
20    DEFINES['JS_HAS_CTYPES'] = True
21    if not CONFIG['MOZ_SYSTEM_FFI']:
22        DEFINES['FFI_BUILDING'] = True
23
24# Forward MOZ_LINKER config
25if CONFIG['MOZ_LINKER']:
26    DEFINES['MOZ_LINKER'] = True
27