1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

remove rb_thread_t::base_block

* error.c (rb_compile_err_append): rb_thread_t::base_block is no
  longer used.
* iseq.c (rb_iseq_compile_with_option): ditto, no protection is
  needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-03-28 21:40:55 +00:00
parent 4e4880b390
commit 7504be10ef
5 changed files with 10 additions and 25 deletions

View file

@ -1,3 +1,11 @@
Tue Mar 29 06:40:53 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (rb_compile_err_append): rb_thread_t::base_block is no
longer used.
* iseq.c (rb_iseq_compile_with_option): ditto, no protection is
needed.
Tue Mar 29 06:39:22 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (struct parser_params): move parse_in_eval flag from

View file

@ -97,12 +97,6 @@ compile_snprintf(rb_encoding *enc, const char *pre, const char *file, int line,
VALUE
rb_compile_err_append(VALUE buffer, VALUE mesg)
{
rb_thread_t *th = GET_THREAD();
rb_block_t *prev_base_block = th->base_block;
th->base_block = 0;
/* base_block should be zero while normal Ruby execution */
/* after this line, any Ruby code *can* run */
if (!buffer) {
rb_str_cat2(mesg, "\n");
rb_write_error_str(mesg);
@ -115,8 +109,6 @@ rb_compile_err_append(VALUE buffer, VALUE mesg)
rb_str_append(buffer, mesg);
}
/* returned to the parser world */
th->base_block = prev_base_block;
return buffer;
}

1
eval.c
View file

@ -243,7 +243,6 @@ ruby_exec_internal(void *n)
TH_PUSH_TAG(th);
if ((state = EXEC_TAG()) == 0) {
SAVE_ROOT_JMPBUF(th, {
th->base_block = 0;
rb_iseq_eval_main(iseq);
});
}

16
iseq.c
View file

@ -638,23 +638,11 @@ rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE absolute_path, VALUE li
rb_exc_raise(th->errinfo);
}
else {
int state;
INITIALIZED VALUE label = parent ?
parent->body->location.label :
rb_fstring_cstr("<compiled>");
rb_block_t **volatile const base_block_ptr = &th->base_block;
rb_block_t *volatile const prev_base_block = th->base_block;
th->base_block = base_block;
TH_PUSH_TAG(th);
if ((state = EXEC_TAG()) == 0) {
iseq = rb_iseq_new_with_opt(node, label, file, absolute_path, line,
parent, type, &option);
}
TH_POP_TAG();
*base_block_ptr = prev_base_block;
if (state) JUMP_TAG(state);
iseq = rb_iseq_new_with_opt(node, label, file, absolute_path, line,
parent, type, &option);
}
return iseq;

View file

@ -698,8 +698,6 @@ typedef struct rb_thread_struct {
VALUE top_wrapper;
/* eval env */
rb_block_t *base_block;
VALUE *root_lep;
VALUE root_svar;