# HG changeset patch # User Christian Humer # Date 1426874450 -3600 # Node ID f792b4270cb1222787277b03a7a73b0d537f1769 # Parent 4cd28f6e34852b1a9404d7da87dc01ddb711bf6a Truffle: simplify inAtomicBlock assertion. diff -r 4cd28f6e3485 -r f792b4270cb1 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Fri Mar 20 19:00:50 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Fri Mar 20 19:00:50 2015 +0100 @@ -557,22 +557,19 @@ private static final Object GIL = new Object(); - private static final ThreadLocal IN_ATOMIC_BLOCK = new ThreadLocal<>(); + private static final ThreadLocal IN_ATOMIC_BLOCK = new ThreadLocal() { + @Override + protected Integer initialValue() { + return 0; + } + }; private static boolean inAtomicBlock() { - Integer value = IN_ATOMIC_BLOCK.get(); - if (value == null) { - return false; - } - return value > 0; + return IN_ATOMIC_BLOCK.get() > 0; } private static boolean enterAtomic() { - Integer currentValue = IN_ATOMIC_BLOCK.get(); - if (currentValue == null) { - currentValue = 0; - } - IN_ATOMIC_BLOCK.set(currentValue + 1); + IN_ATOMIC_BLOCK.set(IN_ATOMIC_BLOCK.get() + 1); return true; }