<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -379,18 +379,17 @@ index 45facf0..933b76e 100644
  #define HEAP_MIN_SLOTS 10000
  static int heap_slots = HEAP_MIN_SLOTS;
  
-@@ -442,6 +463,11 @@ rb_newobj()
+@@ -438,10 +438,8 @@ rb_newobj()
+     obj = (VALUE)freelist;
+     freelist = freelist-&gt;as.free.next;
+     MEMZERO((void*)obj, RVALUE, 1);
+-#ifdef GC_DEBUG
      RANY(obj)-&gt;file = ruby_sourcefile;
      RANY(obj)-&gt;line = ruby_sourceline;
- #endif
-+
-+    if (ruby_current_node &amp;&amp; ruby_current_node-&gt;nd_file) {
-+      RANY(obj)-&gt;file = ruby_current_node-&gt;nd_file;
-+      RANY(obj)-&gt;line = nd_line(ruby_current_node);
-+    }
+-#endif
      return obj;
  }
- 
+
 @@ -678,6 +704,9 @@ mark_locations_array(x, n)
      register long n;
  {
@@ -420,6 +419,28 @@ index 45facf0..933b76e 100644
      if (lev &gt; GC_LEVEL_MAX || (lev == 0 &amp;&amp; ruby_stack_check())) {
  	if (!mark_stack_overflow) {
  	    if (mark_stack_ptr - mark_stack &lt; MARK_STACK_MAX) {
+@@ -1077,6 +1078,10 @@ gc_mark(ptr, lev)
+     if (obj-&gt;as.basic.flags == 0) return;       /* free cell */
+     if (obj-&gt;as.basic.flags &amp; FL_MARK) return;  /* already marked */
+     obj-&gt;as.basic.flags |= FL_MARK;
++
++    /* mark our new reference point for sourcefile objects */
++    mark_source_filename(RANY(obj)-&gt;file);
++
+ 
+     if (lev &gt; GC_LEVEL_MAX || (lev == 0 &amp;&amp; ruby_stack_check())) {
+ 	if (!mark_stack_overflow) {
+@@ -1115,6 +1120,10 @@ gc_mark_children(ptr, lev)
+     if (obj-&gt;as.basic.flags == 0) return;       /* free cell */
+     if (obj-&gt;as.basic.flags &amp; FL_MARK) return;  /* already marked */
+     obj-&gt;as.basic.flags |= FL_MARK;
++
++    /* mark our new reference point for sourcefile objects */
++    mark_source_filename(RANY(obj)-&gt;file);
++
+ 
+   marking:
+     if (FL_TEST(obj, FL_EXIVAR)) {
 diff --git a/parse.c b/parse.c
 index 6b3d80d..b320cf2 100644
 --- a/parse.c</diff>
      <filename>ruby/ruby-1.8.7.patch</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4b629fb97e410d3f64cc50408c1937d5803d7e4c</id>
    </parent>
  </parents>
  <author>
    <name>Evan Weaver</name>
    <email>eweaver@twitter.com</email>
  </author>
  <url>http://github.com/fauna/bleak_house/commit/1e2ddb637989da1594367fdb5350aa44708196d8</url>
  <id>1e2ddb637989da1594367fdb5350aa44708196d8</id>
  <committed-date>2009-09-02T22:48:44-07:00</committed-date>
  <authored-date>2009-09-02T22:48:44-07:00</authored-date>
  <message>Slight update to patch.</message>
  <tree>e883e2e5c185c8209fd0d7580ac0dd639988fdb0</tree>
  <committer>
    <name>Evan Weaver</name>
    <email>eweaver@twitter.com</email>
  </committer>
</commit>
