comparison graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameSlotTypeSpecializationTest.java @ 12405:139b84d713bc

Truffle API adjustments: Simplify frame handling. Introduce cast for MaterializedFrame objects.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 14 Oct 2013 23:28:10 +0200
parents df1d665ca846
children ac5b0f31f7a2
comparison
equal deleted inserted replaced
12404:47eb670c1634 12405:139b84d713bc
113 113
114 @Override 114 @Override
115 Object execute(VirtualFrame frame) { 115 Object execute(VirtualFrame frame) {
116 Object o = value.execute(frame); 116 Object o = value.execute(frame);
117 if (o instanceof Integer) { 117 if (o instanceof Integer) {
118 try { 118 frame.setInt(slot, (Integer) o);
119 frame.setInt(slot, (Integer) o); 119 } else {
120 } catch (FrameSlotTypeException e) { 120 frame.setObject(slot, o);
121 // fall through 121 this.replace(new ObjectAssignLocal(slot, value));
122 }
123 } 122 }
124 frame.setObject(slot, o);
125 this.replace(new ObjectAssignLocal(slot, value));
126 return null; 123 return null;
127 } 124 }
128 } 125 }
129 126
130 class ObjectAssignLocal extends FrameSlotNode { 127 class ObjectAssignLocal extends FrameSlotNode {