2 * Copyright (C) 2001-2004, The Perl Foundation.
6 * Overall settings for Parrot
7 * Data Structure and Algorithms:
8 * History: initial version 2004.08.13
13 #ifndef PARROT_SETTINGS_H_GUARD
14 #define PARROT_SETTINGS_H_GUARD
20 /* If you are trying to debug GC problems which only occur on large test cases,
21 * turning on GC_DEBUG should help make the problem appear with smaller data
22 * samples by reducing various numbers, and causing DOD and allocation runs
23 * to occur more frequently. It does significantly reduce performance. */
24 #ifndef DISABLE_GC_DEBUG
25 # define DISABLE_GC_DEBUG 0
26 #endif /* DISABLE_GC_DEBUG */
28 /* Helpful internal macro for testing whether we are currently
29 * debugging garbage collection and memory management. See also the
30 * definition of GC_VERBOSE in dod.c. */
32 # define GC_DEBUG(interp) 0
34 # define GC_DEBUG(interp) Interp_flags_TEST((interp), PARROT_GC_DEBUG_FLAG)
35 #endif /* DISABLE_GC_DEBUG */
38 * GC_SUBSYSTEM selection
39 * 0 ... MS stop-the-world mark & sweep
40 * 1 ... IMS incremental mark & sweep
41 * 2 ... GMS generational mark & sweep
43 * Please note that only '0' is tested.
46 #define PARROT_GC_SUBSYSTEM 0
48 #if PARROT_GC_SUBSYSTEM == 0
49 # define PARROT_GC_MS 1
50 # define PARROT_GC_IMS 0
51 # define PARROT_GC_GMS 0
53 #if PARROT_GC_SUBSYSTEM == 1
54 # define PARROT_GC_MS 0
55 # define PARROT_GC_IMS 1
56 # define PARROT_GC_GMS 0
58 #if PARROT_GC_SUBSYSTEM == 2
59 # define PARROT_GC_MS 0
60 # define PARROT_GC_IMS 0
61 # define PARROT_GC_GMS 1
70 * JIT/i386 can use the CGP run core for external functions instead
71 * of calling the function version of the opcode
73 * This is for some reason currently slower, so it's turned off
76 #define PARROT_I386_JIT_CGP 0
78 #endif /* PARROT_SETTINGS_H_GUARD */
82 * c-file-style: "parrot"
84 * vim: expandtab shiftwidth=4: