summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--parse.y36
2 files changed, 6 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d0a9dac33..c156d8fc0a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jul 20 15:04:30 2015 Eric Wong <e@80x24.org>
+
+ * parse.y (parser_initialize): avoid redundant zero-ing
+
Mon Jul 20 12:12:05 2015 Eric Wong <e@80x24.org>
* parse.y (struct parser_params): pack: 88 => 256 bytes on 64-bit
diff --git a/parse.y b/parse.y
index 9cf30baf1c..6fb0fa0975 100644
--- a/parse.y
+++ b/parse.y
@@ -10547,46 +10547,14 @@ internal_id_gen(struct parser_params *parser)
static void
parser_initialize(struct parser_params *parser)
{
- parser->eofp = 0;
-
- parser->parser_lex_strterm = 0;
- parser->parser_cond_stack = 0;
- parser->parser_cmdarg_stack = 0;
- parser->parser_paren_nest = 0;
- parser->parser_lpar_beg = 0;
- parser->parser_brace_nest = 0;
- parser->parser_in_single = 0;
- parser->parser_in_def = 0;
- parser->parser_in_defined = 0;
- parser->parser_in_kwarg = 0;
- parser->parser_compile_for_eval = 0;
- parser->parser_tokenbuf = NULL;
- parser->parser_tokidx = 0;
- parser->parser_toksiz = 0;
- parser->parser_heredoc_end = 0;
+ /* note: we rely on TypedData_Make_Struct to set most fields to 0 */
parser->parser_command_start = TRUE;
- parser->parser_deferred_nodes = 0;
- parser->parser_lex_pbeg = 0;
- parser->parser_lex_p = 0;
- parser->parser_lex_pend = 0;
- parser->parser_lvtbl = 0;
- parser->parser_ruby__end__seen = 0;
- parser->parser_ruby_sourcefile = 0;
parser->parser_ruby_sourcefile_string = Qnil;
- parser->cur_arg = 0;
-#ifndef RIPPER
- parser->parser_eval_tree_begin = 0;
- parser->parser_eval_tree = 0;
-#else
+#ifdef RIPPER
parser->delayed = Qnil;
-
parser->result = Qnil;
parser->parsing_thread = Qnil;
parser->toplevel_p = TRUE;
- parser->error_p = FALSE;
-#endif
-#ifdef YYMALLOC
- parser->heap = NULL;
#endif
parser->enc = rb_utf8_encoding();
}