<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,6 +3,20 @@
 namespace factor
 {
 
+context::context(cell ds_size, cell rs_size) :
+	callstack_top(NULL),
+	callstack_bottom(NULL),
+	datastack(0),
+	retainstack(0),
+	datastack_save(0),
+	retainstack_save(0),
+	magic_frame(NULL),
+	datastack_region(new segment(ds_size,false)),
+	retainstack_region(new segment(rs_size,false)),
+	catchstack_save(0),
+	current_callback_save(0),
+	next(NULL) {}
+
 void factor_vm::reset_datastack()
 {
 	ds = ds_bot - sizeof(cell);
@@ -42,11 +56,7 @@ context *factor_vm::alloc_context()
 		unused_contexts = unused_contexts-&gt;next;
 	}
 	else
-	{
-		new_context = new context;
-		new_context-&gt;datastack_region = new segment(ds_size,false);
-		new_context-&gt;retainstack_region = new segment(rs_size,false);
-	}
+		new_context = new context(ds_size,rs_size);
 
 	return new_context;
 }</diff>
      <filename>vm/contexts.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -46,6 +46,8 @@ struct context {
 	cell current_callback_save;
 
 	context *next;
+
+	context(cell ds_size, cell rs_size);
 };
 
 #define ds_bot (ctx-&gt;datastack_region-&gt;start)</diff>
      <filename>vm/contexts.hpp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a4b760e9ad3750d5746a86b30d5ae07a04316389</id>
    </parent>
  </parents>
  <author>
    <name>Slava Pestov</name>
    <email>slava@slava-pestovs-macbook-pro.local</email>
  </author>
  <url>http://github.com/slavapestov/factor/commit/07b56b9806d008d450a9b46c68ac3b5dc44407dd</url>
  <id>07b56b9806d008d450a9b46c68ac3b5dc44407dd</id>
  <committed-date>2009-11-08T17:44:18-08:00</committed-date>
  <authored-date>2009-11-08T17:44:18-08:00</authored-date>
  <message>vm/contexts: cleanup</message>
  <tree>f9316bdf82426c8c9189d1868be68716c527e4ab</tree>
  <committer>
    <name>Slava Pestov</name>
    <email>slava@slava-pestovs-macbook-pro.local</email>
  </committer>
</commit>
