No need to apologize.
It's good that you review changes and point out potential problems. :)
Thanks!
Am 06.01.2016 um 00:27 schrieb John Wagenleitner:
My mistake, I didn't know there was a PR associated that Jochen had
already reviewed. Sorry about that.
On Tue, Jan 5, 2016 at 2:45 PM, Pascal Schumacher
<[email protected] <mailto:[email protected]>> wrote:
Yes, I agree the change most likely reduces performance, but
increases thread-safety (prevent that different Threads may work
with different Metaclasses etc.)
I do not know enough about this area of the code to judge if the
lack of thread-safety is really a concern.
I just merged the pull request because of Jochens +1 vote.
Am 05.01.2016 um 20:31 schrieb John Wagenleitner:
Not sure but wonder if HandleMetaClass#myMetaClass was static to
avoid having to perform a lookup for each HMC instance. Probably
not a issue but thought I'd bring attention to it.
On Tue, Jan 5, 2016 at 10:13 AM, <[email protected]
<mailto:[email protected]>> wrote:
Repository: groovy
Updated Branches:
refs/heads/master 586a316da -> c5f17abbe
Fixing squid:S2444 - Lazy initialization of "static" fields
should be "synchronized"
<snip>
http://git-wip-us.apache.org/repos/asf/groovy/blob/c5f17abb/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
----------------------------------------------------------------------
diff --git
a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
index f421131..9167f5c 100644
--- a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
+++ b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
@@ -24,7 +24,7 @@ import java.lang.reflect.Method;
public class HandleMetaClass extends DelegatingMetaClass {
private Object object;
- private static MetaClass myMetaClass;
+ private MetaClass myMetaClass;
private static final Object NONE = new Object();
public HandleMetaClass(MetaClass mc) {
<snip>