src/ObjectVisitor.h
changeset 247 7721042bdb67
parent 238 e9bec7549c28
child 248 372adeda3b22
     1.1 --- a/src/ObjectVisitor.h	Thu Dec 27 21:07:03 2012 -0800
     1.2 +++ b/src/ObjectVisitor.h	Fri Dec 28 17:13:51 2012 -0800
     1.3 @@ -148,6 +148,11 @@
     1.4          return array->objSize(map);
     1.5      }
     1.6  
     1.7 +    size_t iterateDependentArray(Object *array) {
     1.8 +        visitField(array, DependentArray::offsetOfRoot());
     1.9 +        return sizeof(DependentArray);
    1.10 +    }
    1.11 +
    1.12      size_t iterateBox(Box *obj) {
    1.13          visitField(obj, Box::offsetOfType());
    1.14          if (obj->type()->isTraceable())
    1.15 @@ -248,7 +253,10 @@
    1.16              return iterateString(obj);
    1.17  
    1.18            case MapKind_Array:
    1.19 -            return Align(iterateArray(Array::cast(obj), ArrayMap::cast(map)), kObjectAlignment);
    1.20 +            return iterateArray(Array::cast(obj), ArrayMap::cast(map));
    1.21 +
    1.22 +          case MapKind_DependentArray:
    1.23 +            return iterateDependentArray(obj);
    1.24  
    1.25            case MapKind_Box:
    1.26              return iterateBox(Box::cast(obj));
    1.27 @@ -340,7 +348,10 @@
    1.28          return sizeof(Native);
    1.29  
    1.30        case MapKind_Array:
    1.31 -        return Align(Array::cast(obj)->objSize(ArrayMap::cast(map)), kObjectAlignment);
    1.32 +        return Array::cast(obj)->objSize(ArrayMap::cast(map));
    1.33 +
    1.34 +       case MapKind_DependentArray:
    1.35 +        return sizeof(DependentArray), kObjectAlignment;
    1.36  
    1.37        case MapKind_Box:
    1.38          return sizeof(Box);