From 3cd8f76f7f1bc09f9dd6b65eaafe2fd3a990ac60 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 12 Sep 2019 15:21:18 -0700 Subject: Introduce a secondary arena We'll scan the secondary arena during GC mark. So, we should only allocate "markable" instruction linked list nodes out of the secondary arena. --- iseq.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'iseq.h') diff --git a/iseq.h b/iseq.h index 711afeb0fa..8bb4f30b4b 100644 --- a/iseq.h +++ b/iseq.h @@ -99,8 +99,14 @@ struct iseq_compile_data { struct iseq_label_data *redo_label; const rb_iseq_t *current_block; struct iseq_compile_data_ensure_node_stack *ensure_node_stack; - struct iseq_compile_data_storage *storage_head; - struct iseq_compile_data_storage *storage_current; + struct { + struct iseq_compile_data_storage *storage_head; + struct iseq_compile_data_storage *storage_current; + } node; + struct { + struct iseq_compile_data_storage *storage_head; + struct iseq_compile_data_storage *storage_current; + } insn; int loopval_popped; /* used by NODE_BREAK */ int last_line; int label_no; -- cgit v1.2.1