[#89555] [Ruby trunk Feature#15251] Hash aset should deduplicate non tainted string — chopraanmol1@...
Issue #15251 has been updated by chopraanmol1 (Anmol Chopra).
3 messages
2018/10/25
[#89583] [PATCH] vm_trace.c (postponed_job_register): only hit main thread — Eric Wong <normalperson@...>
@hsbt: I post here on ruby-core because I hit errors with
5 messages
2018/10/27
[#89584] Re: [PATCH] vm_trace.c (postponed_job_register): only hit main thread
— Koichi Sasada <ko1@...>
2018/10/27
thank you for you patch.
[#89590] Re: [PATCH] vm_trace.c (postponed_job_register): only hit main thread
— Eric Wong <normalperson@...>
2018/10/28
Koichi Sasada <ko1@atdot.net> wrote:
[#89621] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — Greg.mpls@...
Issue #14867 has been updated by MSP-Greg (Greg L).
4 messages
2018/10/29
[#89622] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process
— Eric Wong <normalperson@...>
2018/10/29
Greg.mpls@gmail.com wrote:
[#89627] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been updated by k0kubun (Takashi Kokubun).
3 messages
2018/10/30
[#89654] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been updated by k0kubun (Takashi Kokubun).
4 messages
2018/10/31
[#89655] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process
— Eric Wong <normalperson@...>
2018/10/31
takashikkbn@gmail.com wrote:
[ruby-core:89549] [Ruby trunk Feature#15251] Hash aset should deduplicate non tainted string
From:
chopraanmol1@...
Date:
2018-10-24 13:07:04 UTC
List:
ruby-core #89549
Issue #15251 has been reported by chopraanmol1 (Anmol Chopra). ---------------------------------------- Feature #15251: Hash aset should deduplicate non tainted string https://bugs.ruby-lang.org/issues/15251 * Author: chopraanmol1 (Anmol Chopra) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I'm not sure if current behavior is expected one or a bug. So fell free to change tracker type. Currently Hash aset checks if non-tainted string exists in fstring table or not, if it does not then ruby duplicates string and freeze it. This works well for string_literal because they are already registered in fstring table during compilation, but it doesn't work for non-string literal. Patch https://github.com/ruby/ruby/pull/1993 O/P of attached file on trunk: ~~~ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 100 interpolated_string => 100 string add => 100 string append => 100 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ fstring -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 1 interpolated_string => 1 string add => 1 string append => 1 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ fstring + GC -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 100 interpolated_string => 100 string add => 100 string append => 100 ~~~ after patch ~~~ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 1 interpolated_string => 1 string add => 1 string append => 1 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ fstring -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 1 interpolated_string => 1 string add => 1 string append => 1 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ fstring + GC -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ string_literal => 1 string times 1 => 1 string times 3 string times 3 string times 3 => 1 interpolated_string => 1 string add => 1 string append => 1 ~~~ ---Files-------------------------------- test_hash_keys_deduped.rb (927 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>