- Timestamp:
- 08/25/08 07:18:20 (15 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/ProjectFortress/src/com/sun/fortress/interpreter/env/ValueNode.java
r2649 r2738 32 32 Transaction writer; 33 33 ReadSet readers; 34 34 35 public ValueNode(FValue v, Transaction w, ReadSet r, ValueNode o) { 36 old = o; 37 value = v; 38 writer = w; 39 readers = new ReadSet(r); 40 } 41 35 42 ValueNode() { 36 43 old = null; 37 44 value = null; 38 writer = FortressTaskRunner.getTransaction();45 writer = null; 39 46 readers = new ReadSet(); 40 47 } 41 48 42 ValueNode(FValue val) { 43 old = null; 44 value = val; 45 writer = FortressTaskRunner.getTransaction(); 46 readers = new ReadSet(); 47 } 48 49 ValueNode(FValue val, Transaction w, ValueNode o) { 50 old = o; 51 value = val; 52 writer = w; 53 if (o != null) 54 readers = new ReadSet(o.readers); 55 else readers = new ReadSet(); 56 } 57 58 ValueNode(FValue val, ReadSet r) { 59 old = null; 60 value = val; 61 readers = new ReadSet(r); 62 } 49 public static final ValueNode nullValueNode = new ValueNode(); 63 50 64 51 public String toString() { 65 return "ValueNode[" + value + ":" + writer + "]" ; 52 if (this == nullValueNode) 53 return "nullValueNode"; 54 else return "ValueNode[" + value + ":" + writer + "::" + readers + "]" ; 66 55 } 67 56 … … 80 69 81 70 public void AbortAllReaders() { 71 if (this == nullValueNode) 72 throw new RuntimeException(Thread.currentThread().getName() + "Trying to abort all the readers of the null value node"); 73 82 74 readers.seal(); 83 75 for (Transaction r : readers) {

