diff graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java @ 19974:a0971187a38a

Truffle: always check type in UnsafeNodeField
author Andreas Woess <andreas.woess@oracle.com>
date Fri, 20 Mar 2015 15:59:35 +0100
parents f682b9e6ca07
children 5b7db8941fd7
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java	Fri Mar 20 15:53:01 2015 +0100
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java	Fri Mar 20 15:59:35 2015 +0100
@@ -155,14 +155,20 @@
 
         @Override
         public void putObject(Node receiver, Object value) {
-            assert !type.isPrimitive() && value == null || type.isInstance(value);
-            unsafe.putObject(receiver, offset, value);
+            if (!type.isPrimitive() && value == null || type.isInstance(value)) {
+                unsafe.putObject(receiver, offset, value);
+            } else {
+                throw new IllegalArgumentException();
+            }
         }
 
         @Override
         public Object getObject(Node receiver) {
-            assert !type.isPrimitive();
-            return unsafe.getObject(receiver, offset);
+            if (!type.isPrimitive()) {
+                return unsafe.getObject(receiver, offset);
+            } else {
+                throw new IllegalArgumentException();
+            }
         }
 
         @Override