path: root/yarvcore.h
diff options
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-05-21 04:46:51 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-05-21 04:46:51 +0000
commitaffa7430b70336b53cd496496d889c2544d41322 (patch)
tree5a1ed8dee97b8ee1c9a78aa83abd8f566246f1a3 /yarvcore.h
parent696cbbd7a6c364687522cc41992b0896f3c0507b (diff)
* 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:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'yarvcore.h')
1 files changed, 3 insertions, 0 deletions
diff --git a/yarvcore.h b/yarvcore.h
index 0ff3e9b0117..61bd53764b1 100644
--- a/yarvcore.h
+++ b/yarvcore.h
@@ -109,6 +109,8 @@ extern ID idMOD;
extern ID idLT;
extern ID idLTLT;
extern ID idLE;
+extern ID idGT;
+extern ID idGE;
extern ID idEq;
extern ID idEqq;
extern ID idBackquote;
@@ -182,6 +184,7 @@ struct iseq_compile_data_ensure_node_stack;
typedef struct rb_compile_option_struct {
int inline_const_cache;
int peephole_optimization;
+ int tailcall_optimization;
int specialized_instruction;
int operands_unification;
int instructions_unification;