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);