if (threadService.getCritical()) { // If the target thread is sleeping or stopped, wake it synchronized (this) { notify(); } // interrupt the target thread in case it's blocking or waiting // WARNING: We no longer interrupt the target thread, since this usually means // interrupting IO and with NIO that means the channel is no longer usable. // We either need a new way to handle waking a target thread that's waiting // on IO, or we need to accept that we can't wake such threads and must wait // for them to complete their operation. //threadImpl.interrupt(); }
for (RubyHashEntry entry = table[bucketIndex(hash, table.length)]; entry != null; entry = entry.next) { if (internalKeyExist(entry, hash, key)) { return entry; } }
Clone fragments detected by clone detection tool
File path: /jruby-1.4.0/src/org/jruby/RubyThread.java File path: /jruby-1.4.0/src/org/jruby/RubyHash.java
Method name: IRubyObject join(IRubyObject[]) Method name: RubyHashEntry internalGetEntry(IRubyObject)
Number of AST nodes: 3 Number of AST nodes: 3
1
if (threadService.getCritical()) {
2
                // If the target thread is sleeping or stopped, wake it
3
                synchronized (this) {
4
                    notify();
5
                }
6
                
7
                // interrupt the target thread in case it's blocking or waiting
8
                // WARNING: We no longer interrupt the target thread, since this usually means
9
                // interrupting IO and with NIO that means the channel is no longer usable.
10
                // We either need a new way to handle waking a target thread that's waiting
11
                // on IO, or we need to accept that we can't wake such threads and must wait
12
                // for them to complete their operation.
13
                //threadImpl.interrupt();
14
    
1
for (RubyHashEntry entry = table[bucketIndex(hash, table.length)]; entry != null; entry = entry.next) {
2
            if (internalKeyExist(entry, hash, key)) {
3
                return entry;
4
            }
15
        }
5
        }
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are in different classes having the same super class
Number of node comparisons1