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 + + * parse.y (parser_initialize): avoid redundant zero-ing + Mon Jul 20 12:12:05 2015 Eric Wong * 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(); }