brintos

brintos / llvm-project-archived public Read only

0
0
Text · 859 B · f7c1b42 Raw
30 lines · cpp
1//===-- common.cpp ----------------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "common.h"10#include "atomic_helpers.h"11#include "string_utils.h"12 13namespace scudo {14 15#if !defined(SCUDO_PAGE_SIZE)16uptr PageSizeCached = 0;17uptr PageSizeLogCached = 0;18 19// This must be called in the init path or there could be a race if multiple20// threads try to set the cached values.21uptr getPageSizeSlow() {22  PageSizeCached = getPageSize();23  CHECK_NE(PageSizeCached, 0);24  PageSizeLogCached = getLog2(PageSizeCached);25  return PageSizeCached;26}27#endif28 29} // namespace scudo30