void set_inline_cleanup_info(BlockBegin* block,
                              Instruction* return_prev,
                              ValueStack* return_state) {
     scope_data()->set_inline_cleanup_info(block,
                                           return_prev,
                                           return_state);
 }
 void incr_num_returns()                                {
     scope_data()->incr_num_returns();
 }
 ValueStack*  inline_cleanup_state() const              {
     return scope_data()->inline_cleanup_state();
 }
 Instruction* inline_cleanup_return_prev() const        {
     return scope_data()->inline_cleanup_return_prev();
 }
 BlockBegin*  inline_cleanup_block() const              {
     return scope_data()->inline_cleanup_block();
 }
 void set_continuation(BlockBegin* continuation)        {
     scope_data()->set_continuation(continuation);
 }
 // accessors
 bool parsing_jsr() const                               {
     return scope_data()->parsing_jsr();
 }
 int caller_stack_size() const                          { return scope_data()->caller_stack_size();     }
 ciBytecodeStream* stream() const               {
     return scope_data()->stream();
 }
 // other helpers
 BlockBegin* block_at(int bci)                  {
     return scope_data()->block_at(bci);
 }
 IRScope*          scope() const                {
     return scope_data()->scope();
 }
 bool              has_handler() const          {
     return scope_data()->has_handler();
 }
 BlockList*        bci2block() const            {
     return scope_data()->bci2block();
 }
 int  num_returns() const                               {
     return scope_data()->num_returns();
 }
 BlockBegin* jsr_continuation() const                   {
     return scope_data()->jsr_continuation();
 }
 intx max_inline_size() const                           {
     return scope_data()->max_inline_size();
 }
 ValueStack* continuation_state() const                 { return scope_data()->continuation_state();    }