1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/vm_opts.h
ko1 affa7430b7 * compile.c, vm_macro.def: support tail call optimization
(on default, this feature is not enabled).
* iseq.c, compile.c, vm_opts.h: add "tailcall_optimization"
  option.
* sample/test.rb (test_ok): fix to adjust tailcall stack layout.
* insns.def, vm.c, compile.c, yarvcore.c, yarvcore.h:
  add opt_gt, opt_le instructions.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-21 04:46:51 +00:00

49 lines
1.2 KiB
C

/*-*-c-*-*/
/**********************************************************************
vm_opts.h - VM optimize option
$Author$
$Date$
Copyright (C) 2004-2006 Koichi Sasada
**********************************************************************/
#ifndef VM_OPTS_H_INCLUDED
#define VM_OPTS_H_INCLUDED
/* C compiler depend */
#define OPT_DIRECT_THREADED_CODE 1
#define OPT_CALL_THREADED_CODE 0
/* architecture independent */
/* VM running option */
#define OPT_CHECKED_RUN 1
#define OPT_TRACE_INSTRUCTION 0 /* default value */
/* at compile */
#define OPT_INLINE_CONST_CACHE 1
#define OPT_TAILCALL_OPTIMIZATION 0 /* default value */
#define OPT_PEEPHOLE_OPTIMIZATION 1
#define OPT_SPECIALISED_INSTRUCTION 1
/* at runtime */
#define OPT_INLINE_METHOD_CACHE 1
#define OPT_BLOCKINLINING 0
/* architecture independent, affects generated code */
#define OPT_OPERANDS_UNIFICATION 0
#define OPT_INSTRUCTIONS_UNIFICATION 0
/* code generation parameter */
#define OPT_UNIFY_ALL_COMBINATION 0
#define OPT_STACK_CACHING 0
/* misc */
#define SUPPORT_JOKE 0
#endif /* VM_OPTS_H_INCLUDED */