New lay-out of frame object, for fewer mallocs.
See frameobject.c checkin message.
diff --git a/Include/frameobject.h b/Include/frameobject.h
index 85c1f4c..22cc23c 100644
--- a/Include/frameobject.h
+++ b/Include/frameobject.h
@@ -50,18 +50,17 @@
 	PyObject *f_builtins;	/* builtin symbol table (PyDictObject) */
 	PyObject *f_globals;	/* global symbol table (PyDictObject) */
 	PyObject *f_locals;	/* local symbol table (PyDictObject) */
-	PyObject *f_owner;	/* owner (e.g. class or module) or NULL */
-	PyObject *f_fastlocals;	/* fast local variables (PyListObject) */
-	PyObject **f_valuestack;	/* malloc'ed array */
-	PyTryBlock *f_blockstack;	/* malloc'ed array */
-	int f_nvalues;		/* size of f_valuestack */
-	int f_nblocks;		/* size of f_blockstack */
-	int f_iblock;		/* index in f_blockstack */
+	PyObject **f_valuestack; /* points after the last local */
+	PyObject *f_trace;	/* Trace function */
 	int f_lasti;		/* Last instruction if called */
 	int f_lineno;		/* Current line number */
 	int f_restricted;	/* Flag set if restricted operations
 				   in this scope */
-	PyObject *f_trace;	/* Trace function */
+	int f_iblock;		/* index in f_blockstack */
+	PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
+	int f_nlocals;		/* number of locals */
+	int f_stacksize;	/* size of value stack */
+	PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */
 } PyFrameObject;
 
 
@@ -73,7 +72,7 @@
 
 PyFrameObject * PyFrame_New
 	Py_PROTO((PyFrameObject *, PyCodeObject *,
-		  PyObject *, PyObject *, PyObject *, int, int));
+		  PyObject *, PyObject *));
 
 
 /* The rest of the interface is specific for frame objects */