MagickCore 6.9.11-60
Convert, Edit, Or Compose Bitmap Images
memory-private.h
Go to the documentation of this file.
1/*
2 Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore private memory methods.
17*/
18#ifndef MAGICKCORE_MEMORY_PRIVATE_H
19#define MAGICKCORE_MEMORY_PRIVATE_H
20
22
23#if defined(__cplusplus) || defined(c_plusplus)
24extern "C" {
25#endif
26
27#if defined(__powerpc__)
28# define CACHE_LINE_SIZE (16 * MAGICKCORE_SIZEOF_VOID_P)
29#else
30# define CACHE_LINE_SIZE (8 * MAGICKCORE_SIZEOF_VOID_P)
31#endif
32
33#define CACHE_ALIGNED(n) MAGICKCORE_ALIGN_UP(n,CACHE_LINE_SIZE)
34
35#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
36#if !defined(__ICC)
37#define MagickAssumeAligned(address) \
38 __builtin_assume_aligned((address),CACHE_LINE_SIZE)
39#else
40#define MagickAssumeAligned(address) (address)
41#endif
42#else
43#define MagickAssumeAligned(address) (address)
44#endif
45
46extern MagickPrivate void
50
51#if defined(__cplusplus) || defined(c_plusplus)
52}
53#endif
54
55#endif
size_t MagickSizeType
Definition: magick-type.h:140
MagickPrivate void ResetVirtualAnonymousMemory(void)
MagickPrivate void SetMaxMemoryRequest(const MagickSizeType)
Definition: memory.c:1581
MagickPrivate void ResetMaxMemoryRequest(void)
#define MagickPrivate
Definition: method-attribute.h:81