[#69616] [Ruby trunk - Feature #11258] add 'x' mode character for O_EXCL — cremno@...
Issue #11258 has been updated by cremno phobia.
3 messages
2015/06/16
[#69643] [Ruby trunk - Misc #11276] [RFC] compile.c: convert to use ccan/list — normalperson@...
Issue #11276 has been updated by Eric Wong.
3 messages
2015/06/17
[#69751] [Ruby trunk - Bug #11001] 2.2.1 Segmentation fault in reserve_stack() function. — kubo@...
Issue #11001 has been updated by Takehiro Kubo.
3 messages
2015/06/27
[ruby-core:69426] [Ruby trunk - Bug #11203] Change method entries into VALUE
From:
nobu@...
Date:
2015-06-01 11:02:23 UTC
List:
ruby-core #69426
Issue #11203 has been updated by Nobuyoshi Nakada. Description updated ---------------------------------------- Bug #11203: Change method entries into VALUE https://bugs.ruby-lang.org/issues/11203#change-52698 * Author: Koichi Sasada * Status: Open * Priority: Normal * Assignee: * ruby -v: * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Now, `rb_method_entry_t` is an allocated data pointed from method tables (`class/module` has) and from control frame stacks. I will change this data structure to make `VALUE` (`T_IMEMO/ment`). And I put them onto value frames instead of control frame stacks. This change has several advantages. * Solve these issues. * [Bug #11200] Memory leak of method entries * [Bug #11046] `__callee__` returns incorrect method name in orphan proc * Simplify sweeping process of method entry * We can remove `rb_control_frame_t::me` * No need to push CREF for every method invocation. Method entries know required CREF. * We can share per method CREF only for make them public visibility scope. * We can introduce other optimization techniques. * We can remove `rb_control_frame_t::klass` field because method entries can manipulate this information. * We can introduce new method cache mechanism (maybe). The following pictures show how SVAR/CREF/MENT are located at value stacks.   The following picture shows how alias was implemented.  ---Files-------------------------------- 1.PNG (46.6 KB) 2.PNG (43.4 KB) 3.png (31.8 KB) -- https://bugs.ruby-lang.org/