summaryrefslogtreecommitdiff
path: root/compile.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 18:02:01 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 18:02:01 +0000
commit13b5b22ae63cb35adc7e73f8f3d248a6ffd46ad1 (patch)
tree06c31626bec772304b5435fc49f4fbf2c84eb3a6 /compile.h
parent42dcda08aef365e166b8784e0349a28896a871e6 (diff)
* compile.c, compile.h: fix stack pointer issues.
calculate correct stack depth at compile time. * insns.def (emptstack): remove it and add a new insn "adjuststack". * bootstraptest/test_knownbug.rb: move/remove fixed test. * bootstraptest/test_syntax.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.h')
-rw-r--r--compile.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/compile.h b/compile.h
index 0b20da40dd..54b5d5d91f 100644
--- a/compile.h
+++ b/compile.h
@@ -162,7 +162,10 @@ r_value(VALUE value)
/* add label */
#define ADD_LABEL(seq, label) \
- ADD_ELEM(seq, (LINK_ELEMENT *)label)
+ ADD_ELEM(seq, (LINK_ELEMENT *) label)
+
+#define ADD_ADJUST(seq, line, label) \
+ ADD_ELEM(seq, (LINK_ELEMENT *) new_adjust_body(iseq, label, line))
#define ADD_CATCH_ENTRY(type, ls, le, iseqv, lc) \
(rb_ary_push(iseq->compile_data->catch_table_ary, \