src/Structures.h
changeset 153 fc91c4a3dfe2
parent 152 153d0cafc1fd
child 161 b3f0aaee735a
     1.1 --- a/src/Structures.h	Sat Aug 04 23:26:49 2012 -0700
     1.2 +++ b/src/Structures.h	Sat Aug 04 23:58:23 2012 -0700
     1.3 @@ -103,8 +103,11 @@
     1.4      unsigned traceOffsetCount_;
     1.5      Barriered<Type> type_;
     1.6  
     1.7 +    // List of descriptors which must be allocated upon initialization.
     1.8 +    Barriered<FixedArray> composed_;
     1.9 +
    1.10    public:
    1.11 -    static StructMap *New(Zone *zone, const StructureBufferBuilder &builder);
    1.12 +    static StructMap *New(Zone *zone, const StructureBufferBuilder &builder, Handle<FixedArray> composed);
    1.13  
    1.14      unsigned structureSize() {
    1.15          return structureSize_;
    1.16 @@ -121,6 +124,10 @@
    1.17      Type *type() {
    1.18          return type_;
    1.19      }
    1.20 +    FixedArray *composed() {
    1.21 +        return composed_;
    1.22 +    }
    1.23 +
    1.24      void setType(Type *type) {
    1.25          assert(!type_);
    1.26          type_ = type;
    1.27 @@ -130,6 +137,9 @@
    1.28      static inline size_t offsetOfType() {
    1.29          return OFFSETOF(StructMap, type_);
    1.30      }
    1.31 +    static inline size_t offsetOfComposed() {
    1.32 +        return OFFSETOF(StructMap, composed_);
    1.33 +    }
    1.34      // End GC descriptors.
    1.35  
    1.36      static inline StructMap *cast(Object *obj) {