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;
     }