Project

General

Profile

Feature #22222

Updated by byroot (Jean Boussier) 2 months ago

Currently the only API to deserialize instruction sequence is `RubyVM::InstructionSequence.load_from_binary(String)`. 

 It works fine, but isn't ideal for gems like bootsnap, as it needs to allocate a fairly large string and `memcpy` into it. 

 I would like to be able to directly pass a `char *ptr` and `size_t len` pair, so that I can directly pass a internal buffer or even mmapped file. 

 Proposed API: 

 ``` 
 VALUE rb_iseq_load_from_binary(const char *ptr, size_t len) 
 ``` 


 Pull request: https://github.com/ruby/ruby/pull/18136 

Back