merge revision(s) 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,e8edc34f0abe176b24975a1fed1f2c3782f0a252: [Backport #16807]

Use a linked list to eliminate imemo tmp bufs for managing local
	 tables

	This patch changes local table memory to be managed by a linked list
	rather than via the garbage collector.  It reduces allocations from the
	GC and also fixes a use-after-free bug in the concurrent-with-sweep
	compactor I'm working on.

	Remove unused struct member

	I accidentally added this in 35ba2783fe,
	and it's making the size of RVALUE be too big. I'm sorry! orz
This commit is contained in:
nagachika 2020-10-01 21:02:05 +09:00
parent 811b2b0df5
commit b35bfa6abb
4 changed files with 21 additions and 30 deletions

1
node.h
View file

@ -404,6 +404,7 @@ typedef struct rb_ast_struct {
rb_ast_t *rb_ast_new(void);
void rb_ast_mark(rb_ast_t*);
void rb_ast_update_references(rb_ast_t*);
void rb_ast_add_local_table(rb_ast_t*, ID *buf);
void rb_ast_dispose(rb_ast_t*);
void rb_ast_free(rb_ast_t*);
size_t rb_ast_memsize(const rb_ast_t*);