tfpt review "/shelveset:RubyReflectionCache;REDMOND\tomat" Implements profiling of Ruby methods: Given -profile on command line the compiler instruments each Ruby method by code that captures the current timestamp (in ticks) in method prologue and updates a global variable associated with the method in its epilogue. At the end, it dumps all values into "profile.log" file. Implements reflection cache: a static class Methods that contains properties for each method that is emitted into IL. The properties return MethodInfo for the method and cache it. The properties are generated for methods in RubyOps marked by [Emitted] attribute. The generator ("ClassInitGenerator") now refers to internal classes so it needs to be signed and a friend assembly of IronRuby.dll Adds alias "gencache" that generates ReflectionCache.Generated.cs file. Tomas -------------- next part -------------- A non-text attachment was scrubbed... Name: RubyReflectionCache.diff Type: application/octet-stream Size: 205365 bytes Desc: RubyReflectionCache.diff URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20081014/391585b1/attachment-0001.obj>
Nice! Looks good. -----Original Message----- From: Tomas Matousek Sent: Tuesday, October 14, 2008 8:07 PM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: RubyReflectionCache tfpt review "/shelveset:RubyReflectionCache;REDMOND\tomat" Implements profiling of Ruby methods: Given -profile on command line the compiler instruments each Ruby method by code that captures the current timestamp (in ticks) in method prologue and updates a global variable associated with the method in its epilogue. At the end, it dumps all values into "profile.log" file. Implements reflection cache: a static class Methods that contains properties for each method that is emitted into IL. The properties return MethodInfo for the method and cache it. The properties are generated for methods in RubyOps marked by [Emitted] attribute. The generator ("ClassInitGenerator") now refers to internal classes so it needs to be signed and a friend assembly of IronRuby.dll Adds alias "gencache" that generates ReflectionCache.Generated.cs file. Tomas
We have recently implemented the last feature that prevented irb from running, so here it is: C:\M1\Merlin\External\Languages\Ruby\ruby-1.8.6\bin>rbr -X:Interpret irb irb(main):001:0> 1+1 => 2 irb(main):002:0> puts <<end irb(main):003:0" hello world irb(main):004:0" end hello world => nil irb(main):005:0> require ''mscorlib'' => true irb(main):006:0> include System::Collections::Generic => Object irb(main):007:0> l = List[Fixnum].new => [] irb(main):008:0> l.add 1 => nil irb(main):009:0> l.add 2 => nil irb(main):010:0> l.add 3 => nil irb(main):011:0> l => [1, 2, 3] irb(main):012:0> l.each_with_index { |x,i| puts "#{i} -> #{x}" } 0 -> 1 1 -> 2 2 -> 3 => [1, 2, 3] irb(main):013:0> exit Tomas
This should be more readable... -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: Tuesday, October 14, 2008 11:09 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] irb We have recently implemented the last feature that prevented irb from running, so here it is: C:\M1\Merlin\External\Languages\Ruby\ruby-1.8.6\bin>rbr -X:Interpret irb irb(main):001:0> 1+1 => 2 irb(main):002:0> puts <<end irb(main):003:0" hello world irb(main):004:0" end hello world => nil irb(main):005:0> require ''mscorlib'' => true irb(main):006:0> include System::Collections::Generic => Object irb(main):007:0> l = List[Fixnum].new => [] irb(main):008:0> l.add 1 => nil irb(main):009:0> l.add 2 => nil irb(main):010:0> l.add 3 => nil irb(main):011:0> l => [1, 2, 3] irb(main):012:0> l.each_with_index { |x,i| puts "#{i} -> #{x}" } 0 -> 1 1 -> 2 2 -> 3 => [1, 2, 3] irb(main):013:0> exit Tomas _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20081014/899d0ec5/attachment.html>
I migth have missed something along the way - what is rbr? Ben On Wed, Oct 15, 2008 at 7:13 AM, Tomas Matousek <Tomas.Matousek at microsoft.com> wrote:> This should be more readable... > > > > -----Original Message----- > > From: ironruby-core-bounces at rubyforge.org > [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek > > Sent: Tuesday, October 14, 2008 11:09 PM > > To: ironruby-core at rubyforge.org > > Subject: [Ironruby-core] irb > > > > We have recently implemented the last feature that prevented irb from > running, so here it is: > > > > > > C:\M1\Merlin\External\Languages\Ruby\ruby-1.8.6\bin>rbr -X:Interpret irb > > irb(main):001:0> 1+1 > > => 2 > > irb(main):002:0> puts <<end > > irb(main):003:0" hello world > > irb(main):004:0" end > > hello world > > => nil > > irb(main):005:0> require ''mscorlib'' > > => true > > irb(main):006:0> include System::Collections::Generic > > => Object > > irb(main):007:0> l = List[Fixnum].new > > => [] > > irb(main):008:0> l.add 1 > > => nil > > irb(main):009:0> l.add 2 > > => nil > > irb(main):010:0> l.add 3 > > => nil > > irb(main):011:0> l > > => [1, 2, 3] > > irb(main):012:0> l.each_with_index { |x,i| puts "#{i} -> #{x}" } > > 0 -> 1 > > 1 -> 2 > > 2 -> 3 > > => [1, 2, 3] > > irb(main):013:0> exit > > > > Tomas > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
In our standard set of aliases, it resolves to the release build of IronRuby. rbd resolves to the debug build. -----Original Message----- From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ben Hall Sent: Wednesday, October 15, 2008 1:33 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] irb I migth have missed something along the way - what is rbr? Ben On Wed, Oct 15, 2008 at 7:13 AM, Tomas Matousek <Tomas.Matousek at microsoft.com> wrote:> This should be more readable... > > > > -----Original Message----- > > From: ironruby-core-bounces at rubyforge.org > [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek > > Sent: Tuesday, October 14, 2008 11:09 PM > > To: ironruby-core at rubyforge.org > > Subject: [Ironruby-core] irb > > > > We have recently implemented the last feature that prevented irb from > running, so here it is: > > > > > > C:\M1\Merlin\External\Languages\Ruby\ruby-1.8.6\bin>rbr -X:Interpret irb > > irb(main):001:0> 1+1 > > => 2 > > irb(main):002:0> puts <<end > > irb(main):003:0" hello world > > irb(main):004:0" end > > hello world > > => nil > > irb(main):005:0> require ''mscorlib'' > > => true > > irb(main):006:0> include System::Collections::Generic > > => Object > > irb(main):007:0> l = List[Fixnum].new > > => [] > > irb(main):008:0> l.add 1 > > => nil > > irb(main):009:0> l.add 2 > > => nil > > irb(main):010:0> l.add 3 > > => nil > > irb(main):011:0> l > > => [1, 2, 3] > > irb(main):012:0> l.each_with_index { |x,i| puts "#{i} -> #{x}" } > > 0 -> 1 > > 1 -> 2 > > 2 -> 3 > > => [1, 2, 3] > > irb(main):013:0> exit > > > > Tomas > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >_______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core