[#98621] Re: Function getlogin_r()'s protoype] — Bertram Scharpf <lists@...>
FYI,
3 messages
2020/06/02
[#98947] [Ruby master Feature#16986] Anonymous Struct literal — ko1@...
Issue #16986 has been reported by ko1 (Koichi Sasada).
66 messages
2020/06/26
[#98962] [Ruby master Bug#16988] Kernel.load loads file from current directory without '.' in path — misharinn@...
Issue #16988 has been reported by TheSmartnik (Nikita Misharin).
5 messages
2020/06/26
[#98969] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings — marcandre-ruby-core@...
Issue #16994 has been reported by marcandre (Marc-Andre Lafortune).
7 messages
2020/06/26
[#100117] [Ruby master Feature#16994] Sets: shorthand for frozen sets of symbols / strings
— matz@...
2020/09/25
Issue #16994 has been updated by matz (Yukihiro Matsumoto).
[ruby-core:98757] [Ruby master Bug#16941] MJIT doesn't identify Struct kind of instruction
From:
takashikkbn@...
Date:
2020-06-12 00:42:56 UTC
List:
ruby-core #98757
Issue #16941 has been updated by k0kubun (Takashi Kokubun).
> I didn't understand the need to compile the block every time it is being called.
Good point. If there's only one block definition, only one JIT compilation attempt should happen regardless of how Struct is handled in it. I think I was a little bit confused, and I need more information to understand your problem more.
Could you provide a single script and a command which reproduces "it attempts every time" a method is called? In your current script and logs in the description, `my_script` is called only once and it's compiled once, and I don't see the "it attempts every time" problem there.
> Can you refer me to some documentation for understanding execution with JIT?
The only official documentation of JIT available right now is https://bugs.ruby-lang.org/projects/ruby/wiki/MJIT, but I think your problem seems a little bit complicated. So let me figure out what the problem is first to revise my explanation of it for you.
----------------------------------------
Bug #16941: MJIT doesn't identify Struct kind of instruction
https://bugs.ruby-lang.org/issues/16941#change-86114
* Author: abhsha (Abhishek Sharma)
* Status: Feedback
* Priority: Normal
* Assignee: k0kubun (Takashi Kokubun)
* ruby -v: 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
MJIT does not identify Struct instructions and gives a warning while compiling to C.
Example:
def my_method
1.times do
a_struct = Struct.new(:a).new
a_struct.a = "a"
end
end
my_method
$: ruby --jit-save-temps --jit-min-calls=1 --disable-gems --jit --jit-verbose=2 --jit-wait test.rb
output:
start compilation: a=@test.rb:3 -> /tmp/_ruby_mjit_p30696u2.c
MJIT warning: Skipped to compile unsupported instruction: opt_call_c_function
JIT failure (0.0ms): a=@test.rb:3 -> /tmp/_ruby_mjit_p30696u2.c
Are structs not recognised by JIT compiler?
We have this call in our programs many number of times (~ 10^6), it attempts every time and fails. Can this be a cause of programs to get slower with --jit enabled ?
--
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>