[#64703] Add `Hash#fetch_at` (issue #10017) — Wojtek Mach <wojtek@...>
Hey guys
1 message
2014/09/01
[#64711] [ruby-trunk - Bug #10193] [Closed] TestIO#test_readpartial_locktmp fails randomly — nobu@...
Issue #10193 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/02
[#64744] [ruby-trunk - Bug #10202] [Open] TestBenchmark#test_realtime_output breaks on ARM — v.ondruch@...
Issue #10202 has been reported by Vit Ondruch.
3 messages
2014/09/03
[#64823] documenting constants — Xavier Noria <fxn@...>
I am writing a Rails guide about constant autoloading in Ruby on
5 messages
2014/09/07
[#64838] [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus — ko1@...
Issue #10212 has been reported by Koichi Sasada.
6 messages
2014/09/08
[#64858] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— Eric Wong <normalperson@...>
2014/09/08
rb_env_t may use a flexible array, helps a little even on my busy system:
[#64871] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— SASADA Koichi <ko1@...>
2014/09/08
(2014/09/08 19:48), Eric Wong wrote:
[#64972] [ruby-trunk - Bug #10231] [Open] Process.detach(pid) defines new singleton classes every call — headius@...
Issue #10231 has been reported by Charles Nutter.
3 messages
2014/09/11
[#64980] [ruby-trunk - Bug #10212] MRI is not for lambda calculus — ko1@...
Issue #10212 has been updated by Koichi Sasada.
4 messages
2014/09/12
[#65142] [ruby-trunk - Feature #10267] [Open] Number of processors — akr@...
Issue #10267 has been reported by Akira Tanaka.
4 messages
2014/09/20
[#65144] Re: [ruby-trunk - Feature #10267] [Open] Number of processors
— Eric Wong <normalperson@...>
2014/09/20
akr@fsij.org wrote:
[#65210] [ruby-trunk - misc #10278] [Assigned] [RFC] st.c: use ccan linked list — nobu@...
Issue #10278 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/22
[ruby-core:64883] [ruby-trunk - Feature #10185] [PATCH] iseq: free untranslated iseq->iseq at compile
From:
ko1@...
Date:
2014-09-09 01:39:28 UTC
List:
ruby-core #64883
Issue #10185 has been updated by Koichi Sasada. Thank you for waiting my comment. I'm thinking about compatibility and expandability. Now, in Ruby source, iseq->iseq is used only for disasm. So that your patch works completely. However we have several compilers (iseq -> C) to use iseq->iseq directly. Of course, most of people don't use this compiler. So your proopsal is reasonable. On the other hand, the name `iseq_encoded' is not only for direct threaded code. We can make another encoding scheme. ---- Summary: my proposal is: - remain iseq->iseq (NULL as default) - rename rb_iseq_untranslate_threaded_code to rb_iseq_decode_encoded_iseq() and fill iseq->iseq if iseq->iseq is not NULL. - rb_iseq_decode_encoded_iseq() can call rb_iseq_untranslate_threaded_code() (one of decode scheme). - expose (not in ruby/ but internal.h and expose symbol) rb_iseq_decode_encoded_iseq() for maniac users. ---------------------------------------- Feature #10185: [PATCH] iseq: free untranslated iseq->iseq at compile https://bugs.ruby-lang.org/issues/10185#change-48744 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Eric Wong * Category: core * Target version: current: 2.2.0 ---------------------------------------- running "ruby -rpp -e 'pp GC.stat'", a reduction in malloc usage is shown: before: :malloc_increase=>118784, :oldmalloc_increase=>1178736, after: :malloc_increase=>99832, :oldmalloc_increase=>1031976, (numbers from x86-64) * compile.c (rb_iseq_translate_threaded_code): free iseq->iseq (rb_vm_addr2insn): new function for debug (rb_iseq_untranslate_threaded_code): ditto * iseq.c (iseq_memsize): support iseq->iseq == 0 (rb_iseq_disasm): untranslate for dump (iseq_data_to_ary): ditto (rb_iseq_line_trace_each): ditto * vm_dump.c (rb_vmdebug_debug_print_pre): ditto I think we can remove iseq->iseq field from the rb_iseq_t structure in the future and use transient allocation for the debug functions. rb_iseq_untranslate_threaded_code is an uncommon code path for debug and not a performance issue in normal code. ---Files-------------------------------- iseq-tc-diet.patch (4.43 KB) iseq-iseq-diet.patch (9.54 KB) -- https://bugs.ruby-lang.org/