Sha256: 014f5b3baee1bdc248271074adb403fd3ee82c97ff94b31225ab3ec95815cec4

Contents?: true

Size: 681 Bytes

Versions: 1

Compression:

Stored size: 681 Bytes

Contents

#include <vm_core.h>
#include <version.h>

#define ruby_current_thread ((rb_thread_t *)RTYPEDDATA_DATA(rb_thread_current()))

#if RUBY_API_VERSION_CODE >= 20500
  #define TH_CFP(thread) (GET_CFP())
#else
  #define TH_CFP(thread) ((rb_control_frame_t *)(thread)->cfp)
#endif

extern void
update_stack_size(debug_context_t *context) 
{
  rb_thread_t *thread;

  thread = ruby_current_thread;
  /* see backtrace_each in vm_backtrace.c */
  context->stack_size = (int)(RUBY_VM_END_CONTROL_FRAME(thread) - TH_CFP(thread) - 1);
  if (CTX_FL_TEST(context, CTX_FL_UPDATE_STACK)) {
    context->calced_stack_size = context->stack_size;
    CTX_FL_UNSET(context, CTX_FL_UPDATE_STACK);
  }
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
debase-0.2.2.beta13 ext/hacks.h