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