1.1 --- a/src/Zone.cpp Sat Nov 17 22:02:08 2012 -0800
1.2 +++ b/src/Zone.cpp Sat Nov 17 23:11:38 2012 -0800
1.3 @@ -74,45 +74,33 @@
1.4 if (!nativeTable_ || !nativeTable_->initialize())
1.5 return false;
1.6
1.7 + MapKind maps[] =
1.8 + {
1.9 + MapKind_Type,
1.10 + MapKind_ArrayType,
1.11 + MapKind_FunctionType,
1.12 + MapKind_StructType,
1.13 + MapKind_FixedArray,
1.14 + MapKind_ByteArray,
1.15 + MapKind_Code,
1.16 + MapKind_Reference,
1.17 + MapKind_MetaArray,
1.18 + MapKind_MetaStruct,
1.19 + MapKind_MetaEnvironment,
1.20 + MapKind_Module,
1.21 + MapKind_Function,
1.22 + MapKind_String,
1.23 + MapKind_Native,
1.24 + MapKind_Descriptor,
1.25 + MapKind_Box,
1.26 + MapKind_FreeRegion,
1.27 + MapKind_EnvironmentSlotDescriptorArray
1.28 + };
1.29 +
1.30 maps_[MapKind_Meta] = heap_.metaMap();
1.31 - if ((maps_[MapKind_Type] = allocateMap(MapKind_Type, sizeof(Map))) == NULL)
1.32 - return false;
1.33 - if ((maps_[MapKind_FunctionType] = allocateMap(MapKind_FunctionType, sizeof(Map))) == NULL)
1.34 - return false;
1.35 - if ((maps_[MapKind_StructType] = allocateMap(MapKind_StructType, sizeof(Map))) == NULL)
1.36 - return false;
1.37 - if ((maps_[MapKind_FixedArray] = allocateMap(MapKind_FixedArray, sizeof(Map))) == NULL)
1.38 - return false;
1.39 - if ((maps_[MapKind_ByteArray] = allocateMap(MapKind_ByteArray, sizeof(Map))) == NULL)
1.40 - return false;
1.41 - if ((maps_[MapKind_Code] = allocateMap(MapKind_Code, sizeof(Map))) == NULL)
1.42 - return false;
1.43 - if ((maps_[MapKind_Reference] = allocateMap(MapKind_Reference, sizeof(Map))) == NULL)
1.44 - return false;
1.45 - if ((maps_[MapKind_MetaArray] = allocateMap(MapKind_MetaArray, sizeof(Map))) == NULL)
1.46 - return false;
1.47 - if ((maps_[MapKind_MetaStruct] = allocateMap(MapKind_MetaStruct, sizeof(Map))) == NULL)
1.48 - return false;
1.49 - if ((maps_[MapKind_MetaEnvironment] = allocateMap(MapKind_MetaEnvironment, sizeof(Map))) == NULL)
1.50 - return false;
1.51 - if ((maps_[MapKind_Module] = allocateMap(MapKind_Module, sizeof(Map))) == NULL)
1.52 - return false;
1.53 - if ((maps_[MapKind_Function] = allocateMap(MapKind_Function, sizeof(Map))) == NULL)
1.54 - return false;
1.55 - if ((maps_[MapKind_String] = allocateMap(MapKind_String, sizeof(Map))) == NULL)
1.56 - return false;
1.57 - if ((maps_[MapKind_Native] = allocateMap(MapKind_Native, sizeof(Map))) == NULL)
1.58 - return false;
1.59 - if ((maps_[MapKind_Descriptor] = allocateMap(MapKind_Descriptor, sizeof(Map))) == NULL)
1.60 - return false;
1.61 - if ((maps_[MapKind_Box] = allocateMap(MapKind_Box, sizeof(Map))) == NULL)
1.62 - return false;
1.63 - if ((maps_[MapKind_FreeRegion] = allocateMap(MapKind_FreeRegion, sizeof(Map))) == NULL)
1.64 - return false;
1.65 - if ((maps_[MapKind_EnvironmentSlotDescriptorArray] =
1.66 - allocateMap(MapKind_EnvironmentSlotDescriptorArray, sizeof(Map))) == NULL)
1.67 - {
1.68 - return false;
1.69 + for (size_t i = 0; i < sizeof(maps) / sizeof(maps[0]); i++) {
1.70 + if ((maps_[maps[i]] = allocateMap(maps[i], sizeof(Map))) == NULL)
1.71 + return false;
1.72 }
1.73
1.74 types_ = new TypeManager(this);