comparison truffle/com.oracle.truffle.object.basic/src/com/oracle/truffle/object/basic/BasicLayout.java @ 22306:8bc57c7bbf88

Deprecate Layout.Builder#getAllowedImplicitCasts()
author Andreas Woess <andreas.woess@oracle.com>
date Tue, 13 Oct 2015 14:13:27 +0200
parents dc83cc1f94f2
children
comparison
equal deleted inserted replaced
22305:ae5c160bd047 22306:8bc57c7bbf88
21 * questions. 21 * questions.
22 */ 22 */
23 package com.oracle.truffle.object.basic; 23 package com.oracle.truffle.object.basic;
24 24
25 import com.oracle.truffle.api.object.DynamicObject; 25 import com.oracle.truffle.api.object.DynamicObject;
26 import com.oracle.truffle.api.object.Layout;
26 import com.oracle.truffle.api.object.Location; 27 import com.oracle.truffle.api.object.Location;
27 import com.oracle.truffle.api.object.ObjectLocation; 28 import com.oracle.truffle.api.object.ObjectLocation;
28 import com.oracle.truffle.api.object.ObjectType; 29 import com.oracle.truffle.api.object.ObjectType;
29 import com.oracle.truffle.api.object.Shape; 30 import com.oracle.truffle.api.object.Shape;
30 import com.oracle.truffle.api.object.Shape.Allocator; 31 import com.oracle.truffle.api.object.Shape.Allocator;
32 import com.oracle.truffle.object.LayoutStrategy; 33 import com.oracle.truffle.object.LayoutStrategy;
33 import com.oracle.truffle.object.LocationImpl.InternalLongLocation; 34 import com.oracle.truffle.object.LocationImpl.InternalLongLocation;
34 import com.oracle.truffle.object.Locations.DualLocation; 35 import com.oracle.truffle.object.Locations.DualLocation;
35 import com.oracle.truffle.object.basic.BasicLocations.ObjectFieldLocation; 36 import com.oracle.truffle.object.basic.BasicLocations.ObjectFieldLocation;
36 import com.oracle.truffle.object.basic.BasicLocations.SimpleObjectFieldLocation; 37 import com.oracle.truffle.object.basic.BasicLocations.SimpleObjectFieldLocation;
38
37 import java.util.EnumSet; 39 import java.util.EnumSet;
38 40
39 public class BasicLayout extends LayoutImpl { 41 public class BasicLayout extends LayoutImpl {
40 private final ObjectLocation[] objectFields; 42 private final ObjectLocation[] objectFields;
41 private final InternalLongLocation[] primitiveFields; 43 private final InternalLongLocation[] primitiveFields;
48 this.primitiveFields = DynamicObjectBasic.PRIMITIVE_FIELD_LOCATIONS; 50 this.primitiveFields = DynamicObjectBasic.PRIMITIVE_FIELD_LOCATIONS;
49 this.primitiveArrayLocation = DynamicObjectBasic.PRIMITIVE_ARRAY_LOCATION; 51 this.primitiveArrayLocation = DynamicObjectBasic.PRIMITIVE_ARRAY_LOCATION;
50 this.objectArrayLocation = DynamicObjectBasic.OBJECT_ARRAY_LOCATION; 52 this.objectArrayLocation = DynamicObjectBasic.OBJECT_ARRAY_LOCATION;
51 } 53 }
52 54
53 static LayoutImpl createLayoutImpl(EnumSet<ImplicitCast> allowedImplicitCasts, LayoutStrategy strategy) { 55 static LayoutImpl createLayoutImpl(Layout.Builder builder, LayoutStrategy strategy) {
54 return new BasicLayout(allowedImplicitCasts, strategy); 56 return new BasicLayout(getAllowedImplicitCasts(builder), strategy);
55 } 57 }
56 58
57 @Override 59 @Override
58 public DynamicObject newInstance(Shape shape) { 60 public DynamicObject newInstance(Shape shape) {
59 return new DynamicObjectBasic(shape); 61 return new DynamicObjectBasic(shape);