Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/art/art/libartbase/base/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 1 kB image not shown  

Quelle  membarrier.h

  Sprache: C
 

/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


#ifndef ART_LIBARTBASE_BASE_MEMBARRIER_H_
#define ART_LIBARTBASE_BASE_MEMBARRIER_H_

namespace art {
  // Command types for the linux membarrier system call. Different Linux installation may include
  // different subsets of these commands (at the same codepoints).
  //
  // Hardcoding these values is temporary until bionic and prebuilts glibc have an up to date
  // linux/membarrier.h. The order and values follow the current linux definitions.
  enum class MembarrierCommand : int  {
    // MEMBARRIER_CMD_QUERY
    kQuery = 0,
    // MEMBARRIER_CMD_GLOBAL
    kGlobal = (1 << 0),
    // MEMBARRIER_CMD_GLOBAL_EXPEDITED
    kGlobalExpedited = (1 << 1),
    // MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
    kRegisterGlobalExpedited = (1 << 2),
    // MEMBARRIER_CMD_PRIVATE_EXPEDITED
    kPrivateExpedited = (1 << 3),
    // MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
    kRegisterPrivateExpedited = (1 << 4),
    // MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
    kPrivateExpeditedSyncCore = (1 << 5),
    // MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
    kRegisterPrivateExpeditedSyncCore = (1 << 6)
  };

  // Call membarrier(2) if available on platform and return result. This method can fail if the
  // command is not supported by the kernel. The underlying system call is linux specific.
  int membarrier(MembarrierCommand command);

}  // namespace art

#endif  // ART_LIBARTBASE_BASE_MEMBARRIER_H_

Messung V0.5 in Prozent
C=89 H=93 G=90

¤ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet am  2026-06-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.