<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -9,7 +9,7 @@ class RubyObj
     [xyzzy]
   end
   def fred(barney)
-    [barney]
+    { :barney =&gt; barney }
   end
 end
 </diff>
      <filename>fault.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1251,12 +1251,14 @@ rbsm_ruby_to_jsobject( JSContext* cx, VALUE obj ){
 	}
 	so = rbsm_wrap_class( cx, obj );
 	jo = JS_NewObject( cx, &amp;JSRubyObjectClass, NULL, NULL ); 
+	JS_AddNamedRoot( cx, &amp;jo, &quot;rbsm_ruby_to_jsobject&quot; );
 	trace(&quot;rbsm_ruby_to_jsobject(cx=%x, obj=%x); [count %d -&gt; %d]&quot;, cx, jo, alloc_count_rb2js, ++alloc_count_rb2js);
 	so-&gt;jsv = OBJECT_TO_JSVAL( jo );
 	JS_SetPrivate( cx, jo, (void*)so );
 	JS_DefineFunctions( cx, jo, JSRubyObjectFunctions );
 	
 	rb_hash_aset(rb_gv_get(RBSMJS_RUBY_TO_JS_MAP), obj, INT2FIX((int)OBJECT_TO_JSVAL(jo)));
+	JS_RemoveRoot( cx, &amp;jo );
 	
 	return jo;
 }
@@ -1502,12 +1504,14 @@ rb_smjs_value_function( int argc, VALUE* argv, VALUE self ){
 	cname = StringValuePtr( name );
 
 	jo = rbsm_proc_to_function( sv-&gt;cs-&gt;cx, proc );
+	JS_AddNamedRoot( sv-&gt;cs-&gt;cx, &amp;jo, &quot;rb_smjs_value_function&quot; );
 
 	if( rbsm_rubystring_to_jsval( sv-&gt;cs-&gt;cx, name, &amp;jname ) ){
 		JS_SetProperty( sv-&gt;cs-&gt;cx, jo, &quot;name&quot;, &amp;jname );
 	}
 
 	JS_DefineProperty( sv-&gt;cs-&gt;cx, JSVAL_TO_OBJECT( sv-&gt;value ), cname, OBJECT_TO_JSVAL( jo ), NULL, NULL, JSPROP_PERMANENT | JSPROP_READONLY );
+	JS_RemoveRoot( sv-&gt;cs-&gt;cx, &amp;jo );
 
 	return proc;
 }</diff>
      <filename>spidermonkey.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d75700430a78f2fc565b363dd68ca5ee2202c66d</id>
    </parent>
  </parents>
  <author>
    <name>Matthew Draper</name>
    <email>matthew@trebex.net</email>
  </author>
  <url>http://github.com/matthewd/ruby-mozjs/commit/6e249123ceb1a91f43765a331e27eae1a0f5e38c</url>
  <id>6e249123ceb1a91f43765a331e27eae1a0f5e38c</id>
  <committed-date>2008-04-07T02:14:48-07:00</committed-date>
  <authored-date>2008-04-07T02:14:48-07:00</authored-date>
  <message>Added the last two roots I can see missing.</message>
  <tree>1152fa90ad5d28df240a6c13c0e4556d637773b0</tree>
  <committer>
    <name>Matthew Draper</name>
    <email>matthew@trebex.net</email>
  </committer>
</commit>
