diff graal/com.oracle.truffle.object/src/com/oracle/truffle/object/Locations.java @ 18795:e9cbe1618733

Truffle: refactor size calculation in location allocator to visitor pattern
author Andreas Woess <andreas.woess@jku.at>
date Wed, 07 Jan 2015 15:11:38 +0100
parents 2c3666f44855
children
line wrap: on
line diff
--- a/graal/com.oracle.truffle.object/src/com/oracle/truffle/object/Locations.java	Mon Jan 05 19:01:01 2015 +0100
+++ b/graal/com.oracle.truffle.object/src/com/oracle/truffle/object/Locations.java	Wed Jan 07 15:11:38 2015 +0100
@@ -98,6 +98,10 @@
         public String toString() {
             return "=" + String.valueOf(value);
         }
+
+        @Override
+        public final void accept(LocationVisitor locationVisitor) {
+        }
     }
 
     public static final class ConstantLocation extends ValueLocation {
@@ -204,6 +208,12 @@
         }
 
         @Override
+        public final void accept(LocationVisitor locationVisitor) {
+            ((LocationImpl) primitiveLocation).accept(locationVisitor);
+            ((LocationImpl) objectLocation).accept(locationVisitor);
+        }
+
+        @Override
         public String toString() {
             return objectLocation.toString() + "," + primitiveLocation.toString() + "," + type;
         }