Ruby  2.5.0dev(2017-10-22revision60238)
vm_opts.h
Go to the documentation of this file.
1 /*-*-c-*-*/
2 /**********************************************************************
3 
4  vm_opts.h - VM optimize option
5 
6  $Author$
7 
8  Copyright (C) 2004-2007 Koichi Sasada
9 
10 **********************************************************************/
11 
12 
13 #ifndef RUBY_VM_OPTS_H
14 #define RUBY_VM_OPTS_H
15 
16 /* Compile options.
17  * You can change these options at runtime by VM::CompileOption.
18  * Following definitions are default values.
19  */
20 
21 #define OPT_TRACE_INSTRUCTION 1
22 #define OPT_TAILCALL_OPTIMIZATION 0
23 #define OPT_PEEPHOLE_OPTIMIZATION 1
24 #define OPT_SPECIALISED_INSTRUCTION 1
25 #define OPT_INLINE_CONST_CACHE 1
26 #define OPT_FROZEN_STRING_LITERAL 0
27 #define OPT_DEBUG_FROZEN_STRING_LITERAL 0
28 
29 /* Build Options.
30  * You can't change these options at runtime.
31  */
32 
33 /* C compiler dependent */
34 #define OPT_DIRECT_THREADED_CODE 1
35 #define OPT_TOKEN_THREADED_CODE 0
36 #define OPT_CALL_THREADED_CODE 0
37 
38 /* VM running option */
39 #define OPT_CHECKED_RUN 1
40 #define OPT_INLINE_METHOD_CACHE 1
41 #define OPT_GLOBAL_METHOD_CACHE 1
42 #define OPT_BLOCKINLINING 0
43 
44 /* architecture independent, affects generated code */
45 #define OPT_OPERANDS_UNIFICATION 1
46 #define OPT_INSTRUCTIONS_UNIFICATION 0
47 #define OPT_UNIFY_ALL_COMBINATION 0
48 #define OPT_STACK_CACHING 0
49 
50 /* misc */
51 #define SUPPORT_JOKE 0
52 
53 #ifndef VM_COLLECT_USAGE_DETAILS
54 #define VM_COLLECT_USAGE_DETAILS 0
55 #endif
56 
57 #endif /* RUBY_VM_OPTS_H */