Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
ruby/vm_opts.h
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
72 lines (55 sloc)
1.79 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef RUBY_VM_OPTS_H/*-*-c-*-*/ | |
#define RUBY_VM_OPTS_H | |
/********************************************************************** | |
vm_opts.h - VM optimize option | |
$Author$ | |
Copyright (C) 2004-2007 Koichi Sasada | |
**********************************************************************/ | |
/* Compile options. | |
* You can change these options at runtime by VM::CompileOption. | |
* Following definitions are default values. | |
*/ | |
#define OPT_TAILCALL_OPTIMIZATION 0 | |
#define OPT_PEEPHOLE_OPTIMIZATION 1 | |
#define OPT_SPECIALISED_INSTRUCTION 1 | |
#define OPT_INLINE_CONST_CACHE 1 | |
#define OPT_FROZEN_STRING_LITERAL 0 | |
#define OPT_DEBUG_FROZEN_STRING_LITERAL 0 | |
/* Build Options. | |
* You can't change these options at runtime. | |
*/ | |
/* C compiler dependent */ | |
/* | |
* 0: direct (using labeled goto using GCC special) | |
* 1: token (switch/case) | |
* 2: call (function call for each insn dispatch) | |
*/ | |
#ifndef OPT_THREADED_CODE | |
#define OPT_THREADED_CODE 0 | |
#endif | |
#define OPT_DIRECT_THREADED_CODE (OPT_THREADED_CODE == 0) | |
#define OPT_TOKEN_THREADED_CODE (OPT_THREADED_CODE == 1) | |
#define OPT_CALL_THREADED_CODE (OPT_THREADED_CODE == 2) | |
/* VM running option */ | |
#define OPT_CHECKED_RUN 1 | |
#define OPT_INLINE_METHOD_CACHE 1 | |
#define OPT_GLOBAL_METHOD_CACHE 1 | |
#ifndef OPT_IC_FOR_IVAR | |
#define OPT_IC_FOR_IVAR 1 | |
#endif | |
/* architecture independent, affects generated code */ | |
#define OPT_OPERANDS_UNIFICATION 1 | |
#define OPT_INSTRUCTIONS_UNIFICATION 0 | |
#define OPT_UNIFY_ALL_COMBINATION 0 | |
#define OPT_STACK_CACHING 0 | |
/* misc */ | |
#ifndef OPT_SUPPORT_JOKE | |
#define OPT_SUPPORT_JOKE 0 | |
#endif | |
#ifndef OPT_SUPPORT_CALL_C_FUNCTION | |
#define OPT_SUPPORT_CALL_C_FUNCTION 0 | |
#endif | |
#ifndef VM_COLLECT_USAGE_DETAILS | |
#define VM_COLLECT_USAGE_DETAILS 0 | |
#endif | |
#endif /* RUBY_VM_OPTS_H */ |