From c39797e8724683e91618168bd993ac467b81eda8 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 1 Nov 2018 08:53:44 +0000 Subject: introduce USE_TRANSIENT_HEAP to enable/disable theap. * include/ruby/ruby.h: intrdocue `USE_TRANSIENT_HEAP` macro to enable/disable transient heap. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index b2fd1117b8..30dfbf21e6 100644 --- a/struct.c +++ b/struct.c @@ -661,15 +661,16 @@ struct_heap_alloc(VALUE st, size_t len) VALUE *ptr = rb_transient_heap_alloc((VALUE)st, sizeof(VALUE) * len); if (ptr) { - FL_SET_RAW(st, RSTRUCT_TRANSIENT_FLAG); + RSTRUCT_TRANSIENT_SET(st); return ptr; } else { - FL_UNSET_RAW(st, RSTRUCT_TRANSIENT_FLAG); + RSTRUCT_TRANSIENT_UNSET(st); return ALLOC_N(VALUE, len); } } +#if USE_TRANSIENT_HEAP void rb_struct_transient_heap_evacuate(VALUE obj, int promote) { @@ -689,6 +690,7 @@ rb_struct_transient_heap_evacuate(VALUE obj, int promote) RSTRUCT(obj)->as.heap.ptr = new_ptr; } } +#endif static VALUE struct_alloc(VALUE klass) -- cgit v1.2.3