Mercurial > hg > truffle
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); |