rubinius/rubinius — pull request #1558 by ryoqun (2012-02-14 10:55:08+00:00)
Title: guard 1.8-specific vm test

Afrer rubinius is `configure`'d with `--default-version=19`, `rake`'ing is interrupted in middle of `vm:test` by SEGV.

A commit (07859e456192e455d09a27f8414b4e6dd351c8ab Don't use alias chains to implement {Fixnum,Bignum}#** returning Rational in 1.9) introduced 1.8 specific behaviour in Fixnum::pow. But, an affected vm test hasn't been updated. This commit does the missed update to the vm test.

The cause of SEGV is like this:

Since that comimt, Fixnum::pow became to return Primitives::failure in a corner case in 1.9 mode. Primitives::failure is just a special integer constant `reinterpret_cast`ed into `Object *`. So, in general it shouldn't be dereferenced. Yet, the vm test tries to do anyway and `SEGV`es.