revert r63362 due to test failure. Sorry!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2018-05-09 02:42:22 +00:00
Родитель 7079db9ec5
Коммит dfc56b8c43
1 изменённых файлов: 5 добавлений и 7 удалений

12
iseq.h
Просмотреть файл

@ -46,25 +46,23 @@ ISEQ_FLIP_CNT_INCREMENT(const rb_iseq_t *iseq)
static inline VALUE * static inline VALUE *
ISEQ_ORIGINAL_ISEQ(const rb_iseq_t *iseq) ISEQ_ORIGINAL_ISEQ(const rb_iseq_t *iseq)
{ {
rb_imemo_alloc_t *str = (void *)iseq->body->variable.original_iseq; VALUE str = iseq->body->variable.original_iseq;
if (RTEST(str)) return str->ptr; if (RTEST(str)) return (VALUE *)RSTRING_PTR(str);
return NULL; return NULL;
} }
static inline void static inline void
ISEQ_ORIGINAL_ISEQ_CLEAR(const rb_iseq_t *iseq) ISEQ_ORIGINAL_ISEQ_CLEAR(const rb_iseq_t *iseq)
{ {
rb_free_tmp_buffer(&iseq->body->variable.original_iseq); RB_OBJ_WRITE(iseq, &iseq->body->variable.original_iseq, Qnil);
RB_OBJ_WRITE(iseq, &iseq->body->variable.original_iseq, Qfalse);
} }
static inline VALUE * static inline VALUE *
ISEQ_ORIGINAL_ISEQ_ALLOC(const rb_iseq_t *iseq, long size) ISEQ_ORIGINAL_ISEQ_ALLOC(const rb_iseq_t *iseq, long size)
{ {
VALUE str; VALUE str = rb_str_tmp_new(size * sizeof(VALUE));
VALUE *ptr = rb_alloc_tmp_buffer_with_count(&str, sizeof(VALUE), size);
RB_OBJ_WRITE(iseq, &iseq->body->variable.original_iseq, str); RB_OBJ_WRITE(iseq, &iseq->body->variable.original_iseq, str);
return ptr; return (VALUE *)RSTRING_PTR(str);
} }
#define ISEQ_TRACE_EVENTS (RUBY_EVENT_LINE | \ #define ISEQ_TRACE_EVENTS (RUBY_EVENT_LINE | \