There are two things I would like to see added to 1.9.1. A one-byte
trap instruction and more of the VM headers exposed so that
introspection packages don't have to duplicate headers as nodewrap
currently does. I'd be happy to work up a patch for the one-byte trap
instruction.

A one-byte trap instruction facilitates debugging or tracing by
instruction replacement. I mentioned this in ruby core 16 Apr 2008
(http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/16405)

Right now there is a two byte trap instruction where the second byte
is an event type. The event type for the one-byte trap can be implied
and can be filled in by the interpreter code to be either a line event
or a new event enumeration value.  This way, the same Ruby trace hook
as the two byte instruction can be used.

A one-byte trap instruction ensures that the instruction can replace
any of the existing instructions safely. With a two-byte instruction a
lot more magic has go on.

This alone would not be enough to do debugging by instruction
replacement, but it seems like a necessary and relatively unobtrusive
first step.  After this there would need to be some way to patch code
with this instruction at a particular place which saves the old opcode
somewhere so that on return from this instruction the VM interpreter
can put this back and execute the old instruction in place (possibly
removing the trap).

I don't know if the VM can do this now but a mode where a hook can get
after each VM instruction would also allow for (slow) debugging and
could be used with the one-byte trap to help reset it when that is
desired.

On Mon, Jul 7, 2008 at 10:59 PM, Yugui (Yuki Sonoda) <yugui / yugui.jp> wrote:
> Hi, all
>
> On 20 Jun, Matz, ko1, shyouhei and I told about the release management
> of Ruby 1.9. And the management tasks were assigned to me.
>
> At first, I want to decide what features to be included in Ruby 1.9.1.
>
> == Schedule
> As mentioned before (http://www.infoq.com/news/2008/07/rubykaigi),
> Ruby 1.9.1 will be released at 20 Dec.
>
> I intend to release snapshots as bellow:
> * 1.9.0-3 snapshot release  at 25 Jul
> * 1.9.0-4 snapshot release  at 25 Aug
> * 1.9.0-5 snapshot release
>   and feature freeze       at 25 Sep
> * 1.9.1 rc1                 at 25 Oct
> * 1.9.1 rc2                 at 25 Nov
> * 1.9.1                     at 20 Dec
>
> == Features to be included
> I must decide what to be included and what not to be included.
> For example,
> * Of course, YARV itself will be included. It have already been merged.
> * Multi-VM will not, because it needs more time. ko1 said it will be
> implemented by 1.9.5 :-)
>
> Committers and anyone who intend to write patches, let me know your
> plan. What features will be implemented by 25 Sep? What will not?
>
> * How about the improved version of transcode?
> * What platforms should be supported?
>  * How about OS/2?
>  * How about VMS? Can anyone build the trunk version on VMS?
>
> --
> Yugui <yugui / yugui.jp>
> http://yugui.jp
>
>