Feature #971
closedReinstate RubyVM::InstructionSequence::load
Description
=begin
Currently the definition of the load method in iseq.c is commented out "because there is no verifier". The fact that InstructionSequence::compile.to_a has no assembling counterpart that can turn the serialized output back into an iseq object greatly restricts the usefulness InstructionSequence. For example, there is no way to disassemble a method, send it over the network and then assemble it again. The method should be re-enabled even though there is no verifier yet.
=end
Files
Updated by yugui (Yuki Sonoda) almost 16 years ago
- Priority changed from 5 to Normal
- Target version changed from 1.9.1 RC2 to 2.0.0
=begin
=end
Updated by lobster_johnson (Alexander Staubo) almost 16 years ago
- File iseq.patch iseq.patch added
=begin
Here's the patch that would make me happy.
=end
Updated by ko1 (Koichi Sasada) almost 16 years ago
=begin
Alexander Staubo wrote::
Currently the definition of the load method in iseq.c is commented out "because there is no verifier". The fact that InstructionSequence::compile.to_a has no assembling counterpart that can turn the serialized output back into an iseq object greatly restricts the usefulness InstructionSequence. For example, there is no way to disassemble a method, send it over the network and then assemble it again. The method should be re-enabled even though there is no verifier yet.
You can write an extension in C with "ruby_iseq_load()".
Note that I can't guarantee the compatibility of bytecode set and
format. In fact, some instructions may changed in 1.9.2 because of lack
of functionality.
--
// SASADA Koichi at atdot dot net
=end
Updated by ko1 (Koichi Sasada) almost 16 years ago
=begin
SASADA Koichi wrote::
You can write an extension in C with "ruby_iseq_load()".
...
Why "ruby_" instead of "rb_"? This function is for C Extension or ruby
core. Not for outside Ruby.
I think this API should be "rb_iseq_load()".
Nobu, do you know the reason?
--
// SASADA Koichi at atdot dot net
=end
Updated by ko1 (Koichi Sasada) almost 16 years ago
- Assignee set to ko1 (Koichi Sasada)
- Target version changed from 2.0.0 to 1.9.2
=begin
=end