[macruby-changes] [MacRuby/MacRuby] 7b1459: fixed below.

noreply at github.com noreply at github.com
Wed Jun 15 19:06:43 PDT 2011


  Branch: refs/heads/master
  Home:   https://github.com/MacRuby/MacRuby

  Commit: 7b14592ab1b9b2d2b05f7393251713682d6cd6eb
      https://github.com/MacRuby/MacRuby/commit/7b14592ab1b9b2d2b05f7393251713682d6cd6eb
  Author: Kouji Takao <kouji at takao7.net>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compiler.cpp
  M compiler.h
  M debugger.cpp
  M dispatcher.cpp
  M interpreter.cpp
  M kernel.c
  M proc.c
  A spec/frozen/tags/macruby/library/bigdecimal/add_tags.txt
  M test_vm/block.rb
  M test_vm/dispatch.rb
  M vm.cpp
  M vm.h
  M vm_eval.c

  Log Message:
  -----------
  fixed below.

(fixes #1285 and #1292)

however, this changes has regresion that does not support alias eval, instance_eval, module_eval and class_eval.

---
Squashed commit of the following:

commit 5da9a951b2e483753b2bab0929037af2d3c30b23
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 15 20:49:45 2011 +0900

    fixed memory error in Binding#dup, Binding#clone.
    removed fails tag for spec/frozen/tags/macruby/core/binding/clone_tags.txt and spec/frozen/tags/macruby/core/binding/dup_tags.txt.

commit f03f4a48869978764f7d92c5fb556f0dec003c50
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 15 20:19:26 2011 +0900

    fixed memory leak in proc + outer_stack.
    fixed segv with RBO.

commit e0bd18a4225f1f16f7a967d89cbbd063fb2b4a9c
Author: Kouji Takao <kouji at takao7.net>
Date:   Sat Jun 4 00:49:22 2011 +0900

    passed failed test in test_vm/block.rb below.
    ---
    assert ':ok', %{
      proc do
        def proc_caller(&b) b.call end
        def enclosing_method
          proc_caller { return :ok }
          :nok
        end
        p enclosing_method
      end.call
    }

    raise TypeError below.
    ---
    1.instance_eval "def f; end"
    1.instance_eval { def f; end }

commit 87657c9de4df385319e4729b3a8c30c15b823a72
Author: Kouji Takao <kouji at takao7.net>
Date:   Fri Jun 3 22:36:29 2011 +0900

    added fails tags, because segfault on BigDecimal with raise exception.

commit 3ff39e9fa36758f69ce2faded063c066e3abf3c8
Author: Kouji Takao <kouji at takao7.net>
Date:   Fri Jun 3 22:31:33 2011 +0900

    reset current_class, outer_stack and current_outer in rb_vm_aot_feature_load().

commit da2dfc2c48ad668b5898a233c8585d7cdfea4596
Author: Kouji Takao <kouji at takao7.net>
Date:   Fri Jun 3 22:30:43 2011 +0900

    added initialize outer_stack.

commit 0638482e0c91584d9a6ef981066bb0f1292fe5f3
Author: Kouji Takao <kouji at takao7.net>
Date:   Fri Jun 3 22:30:22 2011 +0900

    fixed segfault on rubyspec.

commit 66c81e720c55641453a543d90691c541d7ffa3a9
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 23:20:47 2011 +0900

    reset outer_stack when loading rbo.

commit 55beb0c2922839210215938a1c9462ffab639b7c
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 19:24:34 2011 +0900

    removed outer_mask from RoxorCompiler, because It is not used now.

commit ccbb5b390bebe3849904921210201d5ccd2e52c8
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 18:51:11 2011 +0900

    fixed bug, retain outer_stack in RoxorVM copy constructer and release outer_stack in RoxorVM destructer.

commit e78a418480d41fdaffb6962dd5b386ddb7769892
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 17:22:34 2011 +0900

    fixed bug, defined?(<expected constants>)

commit bdfde05de4cf1b7777894383afd1fb1c1aa80827
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 14:44:07 2011 +0900

    implemented Binding#dup and Binding#clone.

commit 227017b27d2ce39692f10b51b95d20f3f4097dbf
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 14:27:26 2011 +0900

    removed rb_vm_set_outer() and rb_vm_get_outer().
    because does not use original outer now.

commit 3c11376eb514301a2474693a8e4cd893e0dab833
Author: Kouji Takao <kouji at takao7.net>
Date:   Thu Jun 2 11:46:18 2011 +0900

    fixed segfault on defined?(CONSTANT) in method below.
    ---
    class A
      CONST = 42
      def f
        p(defined? CONST)
      end
    end
    GC.start # GC [A] outer_stack

    A.new.f # before SEGV

commit 96cf97a5a6315d684297685fc05d95c223dd4949
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 23:19:51 2011 +0900

    occurs TypeError exception below. This is CRuby spec. (like above)
    ---
    1.instance_eval "class A; end"

commit a51d5415c9d6ef1532a0f2a4b1cd37d9b0c9afa8
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 23:07:05 2011 +0900

    occurs TypeError exception below. This is CRuby spec.
    ---
    1.instance_eval "A = 10"

commit 6a55eac0bec96de075e648683298cae1ec40d50f
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 22:00:29 2011 +0900

    fixed memory leak below. (but MacRuby has memory leak calling eval with string now)
    ---
    Array.class_eval <<-EOS
      def f
      end
    EOS

commit b1aa927a45085305a317a7fbc96212582e12c0b7
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 16:38:16 2011 +0900

    does not push outer in eval.

commit 4f8696d7c095cbc311b8f3a1e5f7af37c2f1de2b
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 16:11:22 2011 +0900

    fixed bug below.
    ---
    module M1
      B = 42
      module M2
        eval("B") # before uninitialized constant M1::M2::B (NameError), after none.
      end
    end

commit ba3b3110139003b970c207e8c68ec9591fd36cad
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 15:06:40 2011 +0900

    fixed memory leak below.
    ---
    loop do
      1.instance_eval do
        42
      end
    end

commit c0b3bbf22383a1fd9689698a6b2df4801a851bfc
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 14:41:08 2011 +0900

    Revert "removed rb_vm_outer_t.pushed_by_eval struct member. it use detecting current class on cRuby, but MacRuby has rb_vm_t.current_class."

    This reverts commit 5f6cf8fd924a07553e59a474d508274e2ec2b275.

commit 1446c62436ba5fc7a9d71dc929fc84278778f718
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 14:40:54 2011 +0900

    Revert "fixed bug below."

    This reverts commit 3531dfc0c48af2b610946159a5f621db52d42b4e.

commit d297f371b9d4fd3ebf03fb1534e9bcbb80f524ce
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 14:37:15 2011 +0900

    fixed bug below.
    ---
    class EvalSpecs
      class A
        def c
          eval "class C; end"
        end
      end
    end

    EvalSpecs::A.new.c

    p EvalSpecs::A::C.name #=> "EvalSpecs::A::C"

commit 7f0595b4d23a0494949bf7c23b11a0e007f5e25b
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 13:40:16 2011 +0900

    removed rb_vm_outer_t.pushed_by_eval struct member. it use detecting current class on cRuby, but MacRuby has rb_vm_t.current_class.

commit dad53ecafda46ebe7c08a8836260c577df805503
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 13:24:23 2011 +0900

    fixed memory leak like below.
    ---
    class A
      Module.nesting
    end

commit a3e956ba4681d16686178fe5f8b93eaae9d89e28
Author: Kouji Takao <kouji at takao7.net>
Date:   Wed Jun 1 02:08:26 2011 +0900

    fixed memory leak when run below.
    ---
    loop do
      class A
      end
    end

commit d40229a6dfc92571803e858310cf7bb5fdbf3f3d
Author: Kouji Takao <kouji at takao7.net>
Date:   Sun May 29 21:10:54 2011 +0900

    Revert "fixed displays "reference count underflow" message (fixes #1284)" and "fixed RoxorVM::pop_outer() leaks memory. (fixes #1267)"

    This reverts commit 3b4d10ef3897ce11919bdea99d32b6fb3ce7390b and 68ac3fcaf1041ef9b25fb3bc940a47f41505b7e5.




More information about the macruby-changes mailing list