diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-12 20:49:10 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-12 20:49:10 +0000 |
commit | c99b9eb03952284f213b714acaf7f4885ce177c2 (patch) | |
tree | f923db7caf3476b3d907307dc7a4ad6ec31317a7 /internal.h | |
parent | 2bd4c5145572a507541702327cbf13c8e91af3da (diff) | |
download | ruby-c99b9eb03952284f213b714acaf7f4885ce177c2.tar.gz |
share VM stack between threads and fibers if identical in size
ec->vm_stack is always allocated with malloc, so stack cache for
root fiber (thread stack) and non-root fibers can be shared as
long as the size is the same. The purpose of this change is to
reduce dependencies on ROOT_FIBER_CONTEXT.
[Feature #15095] [Bug #15050]
v2: vm.c: fix build with USE_THREAD_DATA_RECYCLE==0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/internal.h b/internal.h index fec6d3c82f..1d4302d645 100644 --- a/internal.h +++ b/internal.h @@ -1915,6 +1915,7 @@ void Init_BareVM(void); void Init_vm_objects(void); PUREFUNC(VALUE rb_vm_top_self(void)); void rb_thread_recycle_stack_release(VALUE *); +VALUE *rb_thread_recycle_stack(size_t); void rb_vm_change_state(void); void rb_vm_inc_const_missing_count(void); const void **rb_vm_get_insns_address_table(void); |