yarv-diff:337
From: ko1 atdot.net
Date: 31 May 2006 12:28:24 -0000
Subject: [yarv-diff:337] r504 - trunk
Author: ko1
Date: 2006-05-31 21:28:23 +0900 (Wed, 31 May 2006)
New Revision: 504
Modified:
trunk/ChangeLog
trunk/parse.y
Log:
* parse.y : prohibit tail call optimization to mark vparsr
object
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-05-25 07:11:13 UTC (rev 503)
+++ trunk/ChangeLog 2006-05-31 12:28:23 UTC (rev 504)
@@ -4,7 +4,12 @@
# from Mon, 03 May 2004 01:24:19 +0900
#
+2006-05-31(Wed) 21:26:38 +0900 Koichi Sasada <ko1 atdot.net>
+ * parse.y : prohibit tail call optimization to mark vparsr
+ object
+
+
2006-05-25(Thu) 15:37:11 +0900 Koichi Sasada <ko1 atdot.net>
* blockinlining.c : support NEW_ATTRASGN attributes
Modified: trunk/parse.y
===================================================================
--- trunk/parse.y 2006-05-25 07:11:13 UTC (rev 503)
+++ trunk/parse.y 2006-05-31 12:28:23 UTC (rev 504)
@@ -4699,7 +4699,9 @@
rb_parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
{
struct parser_params *parser;
-
+ NODE *node;
+ volatile VALUE tmp;
+
Data_Get_Struct(vparser, struct parser_params, parser);
lex_gets = lex_get_str;
lex_gets_ptr = 0;
@@ -4707,7 +4709,10 @@
lex_pbeg = lex_p = lex_pend = 0;
compile_for_eval = rb_parse_in_eval();
- return yycompile(parser, f, line);
+ node = yycompile(parser, f, line);
+ tmp = vparser; /* prohibit tail call optimization */
+
+ return node;
}
NODE*
@@ -4740,13 +4745,18 @@
rb_parser_compile_file(volatile VALUE vparser, const char *f, VALUE file, int start)
{
struct parser_params *parser;
+ volatile VALUE tmp;
+ NODE *node;
Data_Get_Struct(vparser, struct parser_params, parser);
lex_gets = lex_io_gets;
lex_input = file;
lex_pbeg = lex_p = lex_pend = 0;
- return yycompile(parser, f, start);
+ node = yycompile(parser, f, start);
+ tmp = vparser; /* prohibit tail call optimization */
+
+ return node;
}
#endif /* !RIPPER */
--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml