tfpt review "/shelveset:ThreadSafety7;REDMOND\tomat" Comment : Makes operations on class hierarchy thread-safe. A class-hierarchy lock is defined on RubyContext. The lock should be acquired by any reader or writer that accesses the mutable state on hierarchy (such as method and constant tables on modules/classes, mixin lists, etc.). Fixes implementation of private/public/protected/module_function that take a list of symbols. These methods define a stub method in the current module that has given visibility and forwards any call to it to super class (as if "super" was used). Implements this behavior via RubyMemberInfo with SuperForwarder flag set. Improves generated initializers to generate more efficient code. Fixes bugs: [ ironruby-Bugs-23510 ] Methods are being cloned when they are private in subclasses [ ironruby-Bugs-22362 ] module_function Tomas -------------- next part -------------- A non-text attachment was scrubbed... Name: ThreadSafety7.diff Type: application/octet-stream Size: 1396693 bytes Desc: ThreadSafety7.diff URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090123/4b333409/attachment-0001.obj>
Wow, that''s a lot of changes... looks good! -----Original Message----- From: Tomas Matousek Sent: Friday, January 23, 2009 11:44 PM To: IronRuby External Code Reviewers Cc: ironruby-core at rubyforge.org Subject: Code Review: ThreadSafety7 tfpt review "/shelveset:ThreadSafety7;REDMOND\tomat" Comment : Makes operations on class hierarchy thread-safe. A class-hierarchy lock is defined on RubyContext. The lock should be acquired by any reader or writer that accesses the mutable state on hierarchy (such as method and constant tables on modules/classes, mixin lists, etc.). Fixes implementation of private/public/protected/module_function that take a list of symbols. These methods define a stub method in the current module that has given visibility and forwards any call to it to super class (as if "super" was used). Implements this behavior via RubyMemberInfo with SuperForwarder flag set. Improves generated initializers to generate more efficient code. Fixes bugs: [ ironruby-Bugs-23510 ] Methods are being cloned when they are private in subclasses [ ironruby-Bugs-22362 ] module_function Tomas