1.1 --- a/jitcraft/Zone.cpp Thu Jun 28 01:38:56 2012 -0700
1.2 +++ b/jitcraft/Zone.cpp Fri Jun 29 19:35:17 2012 -0700
1.3 @@ -16,11 +16,18 @@
1.4 * JITCraft. If not, see http://www.gnu.org/licenses/.
1.5 */
1.6 #include "Zone.h"
1.7 +#include "TypeManager.h"
1.8
1.9 using namespace jc;
1.10
1.11 Zone jc::SingleThreadedZone;
1.12
1.13 +Zone::Zone()
1.14 + : heap_(this),
1.15 + types_(NULL)
1.16 +{
1.17 +}
1.18 +
1.19 bool
1.20 Zone::initialize()
1.21 {
1.22 @@ -28,5 +35,16 @@
1.23 return false;
1.24 if (!unsafeStack_.initialize())
1.25 return false;
1.26 + if (!heap_.initialize())
1.27 + return false;
1.28 +
1.29 + maps_[MapKind_Meta] = heap_.metaMap();
1.30 + if ((maps_[MapKind_Type] = heap_.allocateMap(MapKind_Type, sizeof(Map))) == NULL)
1.31 + return false;
1.32 +
1.33 + types_ = new TypeManager(this);
1.34 + if (!types_ || !types_->initialize())
1.35 + return false;
1.36 +
1.37 return true;
1.38 }