x86: R_SCRATCH_4 may alias R_SAVED_2; make R_SI and R_DI allocatable
[ajla.git] / debug.h
blobadeb897ae65061339beb990035a01f3411c24705
1 /*
2 * Copyright (C) 2024 Mikulas Patocka
4 * This file is part of Ajla.
6 * Ajla is free software: you can redistribute it and/or modify it under the
7 * terms of the GNU General Public License as published by the Free Software
8 * Foundation, either version 3 of the License, or (at your option) any later
9 * version.
11 * Ajla is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along with
16 * Ajla. If not, see <https://www.gnu.org/licenses/>.
19 #ifndef HAVE_DEBUGLEVEL
20 #define HAVE_DEBUGLEVEL 1
21 #endif
23 /*#define DEBUG_BIST*/
24 /*#define DEBUG_INFO*/
25 /*#define DEBUG_ENV*/
26 /*#define DEBUG_CRASH_HANDLER*/
28 #if HAVE_DEBUGLEVEL >= 1
29 #define DEBUG_TRACK_FILE_LINE
30 #define DEBUG_MEMORY_POSSIBLE
31 #define DEBUG_OBJECT_POSSIBLE
32 #define DEBUG_LOW_OVERHEAD
33 #endif
34 #if HAVE_DEBUGLEVEL >= 2
35 #define DEBUG_REFCOUNTS
36 #define DEBUG_LIST
37 #define DEBUG_RBTREE
38 #define DEBUG_ERROR
39 #define DEBUG
40 #endif
41 #if HAVE_DEBUGLEVEL >= 3
42 /*#define DEBUG_ALLOC_INSIDE_LOCKS currently, this doesn't work */
43 #define DEBUG_ARRAY_INDICES
44 #endif
46 /*#define DEBUG_THREAD_NONE*/
47 /*#define DEBUG_TRACE*/
48 /*#define DEBUG_NOINLINE*/
50 /*#define UNUSUAL_NO_TAGGED_POINTERS*/
51 /*#define UNUSUAL_DISABLE_INT128_T
52 #define UNUSUAL_ARITHMETICS
53 #define UNUSUAL_UNKNOWN_ENDIAN
54 #define UNUSUAL_REFCOUNTS
55 #define UNUSUAL_NO_ASSEMBLER
56 #define UNUSUAL_NO_ASSEMBLER_GOTO
57 #define UNUSUAL
58 #define UNUSUAL_THREAD
59 #define UNUSUAL_NO_MEMALIGN
60 #define UNUSUAL_NO_ARCH_TAGGED_POINTERS
61 #define UNUSUAL_MPINT_ARRAY_INDICES
62 #define UNUSUAL_NO_POINTER_COMPRESSION
63 #define UNUSUAL_SPINLOCK
64 #define UNUSUAL_NO_DIR_HANDLES*/