  static VALUE
  iseq_location(rb_iseq_t *iseq)
  {
-@@ -1649,7 +1710,7 @@ method_arity_m(VALUE method)
-     return INT2FIX(n);
- }
- 
--static int
-+int
- method_arity(VALUE method)
- {
-     struct METHOD *data;
 @@ -2042,6 +2103,100 @@ proc_curry(int argc, VALUE *argv, VALUE self)
      return make_curry_proc(self, rb_ary_new(), arity);
  }

 VALUE rb_cProc;
 
 static VALUE bmcall(VALUE, VALUE);
-static int method_arity(VALUE);
 
 /* Proc */
 

index b28a222..fd2f2e0 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -259,6 +259,19 @@ struct rb_iseq_struct {
     /* If this instruction sequence came from eval, the string of the
        source as a String. */
     VALUE source;
+
+    /* Used to set a breakpoint at a VM instruction */
+    unsigned char *breakpoints; 
+
+    /* If we are saving tree nodes (a compile option), then tree_node
+       is the internal parse tree node representation for this
