Backport #2475
closedInstructionSequence#to_a fails for duparray
Description
=begin
irb(main):003:0> i = RubyVM::InstructionSequence.compile("a = [ 1, 2, 3 ]; foo(a)")
=> <RubyVM::InstructionSequence:@>
irb(main):004:0> i.to_a
NotImplementedError: method inspect' called on terminated object (0x984de08) from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in
inspect'
from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in inspect' from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in
inspect'
from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in output_value' from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:150:in
block (2 levels) in eval_input'
from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:263:in signal_status' from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:146:in
block in eval_input'
from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:244:in block (2 levels) in each_top_level_statement' from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:230:in
loop'
from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:230:in block in each_top_level_statement' from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:229:in
catch'
from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:229:in each_top_level_statement' from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:145:in
eval_input'
from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:69:in block in start' from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:68:in
catch'
from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:68:in start' from /usr/local/bin/irb1.9.1:12:in
'Maybe IRB bug!!
I think #to_a does not hanndle the hidden_obj_p case correctly.
=end