<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -60,6 +60,8 @@ for y in 0..count_size
       printf &quot;%c&quot;, byte_acc # .chr
       byte_acc = 0
       bit_num = 0
+    else
+      0
     end
  #   nil
   end</diff>
      <filename>bm_so_mandelbrot.rb</filename>
    </modified>
    <modified>
      <diff>@@ -376,7 +376,12 @@ module SendUtil
       return [nil, nil]
 
     elsif candidatenum == 1 then
-      minfo = mtab.values[0]
+      minfo = nil
+      if recklass then
+        minfo = mtab[recklass]
+      else
+        minfo = mtab.values[0]
+      end
       if minfo.is_a?(Hash) then
         return [minfo, minfo[:func]]
       else
@@ -631,23 +636,27 @@ module SendUtil
     rectype = receiver ? receiver[0] : nil
     minfo, func = gen_method_select(rectype, info[0], mname)
     if minfo then
+      rettype = minfo[:rettype]
+      # rettype = RubyType.new(nil, info[3], &quot;Return type of #{mname}&quot;)
       pppp &quot;RubyMethod called #{mname.inspect}&quot;
 
       para = gen_arg_eval(args, receiver, ins, local_vars, info, minfo, mname)
-      @expstack.push [minfo[:rettype],
+      @expstack.push [rettype,
         lambda {|b, context|
           recklass = receiver ? receiver[0].klass : nil
           minfo, func = gen_method_select(rectype, info[0], mname)
+
           if !with_selfp(receiver, info[0], mname) then
             para.pop
           end
+
           if func then
             gen_call(func, para ,b, context)
           else
 #            p mname
 #            p recklass
 #            raise &quot;Undefined method \&quot;#{mname}\&quot; in #{info[3]}&quot;
-            rettype = minfo[:rettype]
+#            rettype = minfo[:rettype]
             gen_call_from_ruby(rettype, receiver[0], mname, para, curlevel, b, context)
           end
         }]</diff>
      <filename>lib/llvmutil.rb</filename>
    </modified>
    <modified>
      <diff>@@ -795,6 +795,7 @@ class YarvTranslator&lt;YarvVisitor
   end
   
   def visit_default(code, ins, local_vars, ln, info)
+    p ins
     pppp &quot;Unprocessed instruction #{ins}&quot;
   end
 
@@ -1158,7 +1159,8 @@ class YarvTranslator&lt;YarvVisitor
       }]
   end
 
-  # putspecialobject
+  def visit_putspecialobject(code, ins, local_vars, ln, info)
+  end
 
   def visit_putiseq(code, ins, local_vars, ln, info)
   end</diff>
      <filename>lib/vmtraverse.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>40acfe5cc57a9bc6c4134124d57033725437461f</id>
    </parent>
  </parents>
  <author>
    <name>U-KOZUE\kozue</name>
    <email>m-72@tf6.so-net.ne.jp</email>
  </author>
  <url>http://github.com/miura1729/yarv2llvm/commit/466fba17e5f032af4d649230a71b7efdf7c2c523</url>
  <id>466fba17e5f032af4d649230a71b7efdf7c2c523</id>
  <committed-date>2009-06-12T02:27:02-07:00</committed-date>
  <authored-date>2009-06-12T02:27:02-07:00</authored-date>
  <message>Bug about static method dispatch fixed</message>
  <tree>46f35f31f4cd2126126de8dad374b2f2d9049d9e</tree>
  <committer>
    <name>U-KOZUE\kozue</name>
    <email>m-72@tf6.so-net.ne.jp</email>
  </committer>
</commit>
