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