1/*-*-c-*-*/
2/**********************************************************************
3
4  vm_opts.h - VM optimize option
5
6  $Author: nagachika $
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
27
28/* Build Options.
29 * You can't change these options at runtime.
30 */
31
32/* C compiler dependent */
33#define OPT_DIRECT_THREADED_CODE     1
34#define OPT_TOKEN_THREADED_CODE      0
35#define OPT_CALL_THREADED_CODE       0
36
37/* VM running option */
38#define OPT_CHECKED_RUN              1
39#define OPT_INLINE_METHOD_CACHE      1
40#define OPT_GLOBAL_METHOD_CACHE      1
41#define OPT_BLOCKINLINING            0
42
43/* architecture independent, affects generated code */
44#define OPT_OPERANDS_UNIFICATION     1
45#define OPT_INSTRUCTIONS_UNIFICATION 0
46#define OPT_UNIFY_ALL_COMBINATION    0
47#define OPT_STACK_CACHING            0
48
49/* misc */
50#define SUPPORT_JOKE                 0
51
52#ifndef VM_COLLECT_USAGE_DETAILS
53#define VM_COLLECT_USAGE_DETAILS     0
54#endif
55
56#endif /* RUBY_VM_OPTS_H */
57