Project

General

Profile

Feature #971

Reinstate RubyVM::InstructionSequence::load

Added by lobster_johnson (Alexander Staubo) almost 11 years ago. Updated over 8 years ago.

Status:
Rejected
Priority:
Normal
Target version:
[ruby-core:21087]

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

iseq.patch (798 Bytes) iseq.patch Patch for iseq.c lobster_johnson (Alexander Staubo), 01/18/2009 10:32 PM

History

#1

Updated by yugui (Yuki Sonoda) almost 11 years ago

  • Priority changed from 5 to Normal
  • Target version changed from 1.9.1 RC2 to 2.0.0

=begin

=end

#2

Updated by lobster_johnson (Alexander Staubo) almost 11 years ago

=begin
Here's the patch that would make me happy.

=end

#3

Updated by ko1 (Koichi Sasada) almost 11 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

#4

Updated by ko1 (Koichi Sasada) almost 11 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

#5

Updated by ko1 (Koichi Sasada) almost 11 years ago

  • Assignee set to ko1 (Koichi Sasada)
  • Target version changed from 2.0.0 to 1.9.2

=begin

=end

#6

Updated by ko1 (Koichi Sasada) over 9 years ago

  • Status changed from Open to Rejected

=begin

=end

Also available in: Atom PDF