On 12 August 2010 23:52, Iain Barnett <iainspeed / gmail.com> wrote:
>
>
>
> On 10 Aug 2010, at 16:43, Joseph E. Savard wrote:
>
>> Its commented out.
>>
>> See vm_opts.h.
>>
>> As far as sensing it in Ruby I would think
>>
>> ruby-1.9.2-rc2.tar.bz2>
>>
>> Snippet of vm_opts.h below:
>>
>> #ifndef RUBY_VM_OPTS_H
>> #define RUBY_VM_OPTS_H
>>
>> /* Compile options.
>> * You can change these options at runtime by VM::CompileOption.
>> * Following definitions are default values.
>> */
>>
>> #define OPT_TRACE_INSTRUCTION =A0 =A0 =A0 =A01
>> #define OPT_TAILCALL_OPTIMIZATION =A0 =A00
>> #define OPT_PEEPHOLE_OPTIMIZATION =A0 =A01
>> #define OPT_SPECIALISED_INSTRUCTION =A01
>> #define OPT_INLINE_CONST_CACHE =A0 =A0 =A0 1
>>
>> RUN TIME OPTIONS could be interesting to play with. =A0You appear to loo=
se the
>> promise of portability.
>>
>> See iseq.c (Interesting rb_compile_option_t )
>>
>> static rb_compile_option_t COMPILE_OPTION_DEFAULT =3D {
>> =A0 =A0OPT_INLINE_CONST_CACHE, /* int inline_const_cache; */
>> =A0 =A0OPT_PEEPHOLE_OPTIMIZATION, /* int peephole_optimization; */
>> =A0 =A0OPT_TAILCALL_OPTIMIZATION, /* int tailcall_optimization */
>> =A0 =A0OPT_SPECIALISED_INSTRUCTION, /* int specialized_instruction; */
>> =A0 =A0OPT_OPERANDS_UNIFICATION, /* int operands_unification; */
>> =A0 =A0OPT_INSTRUCTIONS_UNIFICATION, /* int instructions_unification; */
>> =A0 =A0OPT_STACK_CACHING, /* int stack_caching; */
>> =A0 =A0OPT_TRACE_INSTRUCTION, /* int trace_instruction */
>> };
>>
>
> Thanks for the reply. Finally got 1.9.1-p429 to compile, and I set =A0#de=
fine OPT_TAILCALL_OPTIMIZATION =A0 1 =A0before compiling, which hopefully i=
s right, I don't know C.
>
> Do you know any way I can check it's definitely on, aside from attempting=
 to blow the stack with something hugely recursive?
>
> Iain
>

You should probably dig deeper in your own link :)

There is a link on the stackoverflow's question:
http://redmine.ruby-lang.org/issues/show/1256
The third reply from Nobu might help you ;)

Regards,
B.D.