Mercurial > hg > truffle
changeset 19979:f792b4270cb1
Truffle: simplify inAtomicBlock assertion.
author | Christian Humer <christian.humer@oracle.com> |
---|---|
date | Fri, 20 Mar 2015 19:00:50 +0100 |
parents | 4cd28f6e3485 |
children | ec6093a28cf3 |
files | graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java |
diffstat | 1 files changed, 8 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- 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<Integer> IN_ATOMIC_BLOCK = new ThreadLocal<>(); + private static final ThreadLocal<Integer> IN_ATOMIC_BLOCK = new ThreadLocal<Integer>() { + @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; }