Re: ast branch
Neal Norwitz <[email protected]> Tue, 01 Apr 2003 17:25:46 -0500
| Newsgroups | gmane.comp.python.compiler |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Apr 01, 2003 at 01:48:34PM -0500, Jeremy Hylton wrote: > On Tue, 2003-04-01 at 07:32, Neal Norwitz wrote: > > The AST branch seems to be making pretty good progress. I just wanted > > to collect the known issues so we don't overlap. Brett Cannon had > > mentioned that he was interested in the new compiler, so perhaps this > > will provide some insight into the status. > > Here are two important tasks: > - Compute the stack depth from the basic blocks. > - Create a valid lnotab. Not sure about the first, but the second would be very helpful when the interpreter crashes. I ran with valgrind, there were a few checkins as a result. There are still some memory leaks and a problem with raise statements IIRC. ==3872== Invalid read of size 2 ==3872== at 0x8101E3F: ast_for_expr (Python/ast.c:700) ==3872== by 0x8102D2A: ast_for_flow_stmt (Python/ast.c:1009) ==3872== by 0x810425E: ast_for_stmt (Python/ast.c:1432) ==3872== by 0x81036BF: ast_for_suite (Python/ast.c:1195) ==3872== by 0x810135B: ast_for_funcdef (Python/ast.c:426) ==3872== by 0x810437A: ast_for_stmt (Python/ast.c:1460) ==3872== by 0x8100877: PyAST_FromNode (Python/ast.c:113) ==3872== by 0x80C2483: PyParser_ASTFromFile (Python/pythonrun.c:1102) ==3872== by 0x80B6E63: parse_source_module (Python/import.c:660) ==3872== by 0x80B7115: load_source_module (Python/import.c:782) ==3872== 12 bytes in 1 blocks are definitely lost in loss record 4 of 241 ==3872== at 0x40168A70: malloc (vg_clientfuncs.c:100) ==3872== by 0x806C3A7: PyObject_Malloc (Objects/obmalloc.c:854) ==3872== by 0x81002C5: asdl_seq_new (Python/asdl.c:7) ==3872== by 0x8101777: ast_for_listcomp (Python/ast.c:527) ==3872== by 0x81019C6: ast_for_atom (Python/ast.c:579) ==3872== by 0x8102261: ast_for_expr (Python/ast.c:779) ==3872== by 0x81026B8: ast_for_testlist (Python/ast.c:872) ==3872== by 0x8102C8B: ast_for_flow_stmt (Python/ast.c:1000) ==3872== by 0x810425E: ast_for_stmt (Python/ast.c:1432) ==3872== by 0x81036BF: ast_for_suite (Python/ast.c:1195) ==3872== by 0x8103D76: ast_for_except_clause (Python/ast.c:1337) ==3872== by 0x8103F65: ast_for_try_stmt (Python/ast.c:1369) ==3872== by 0x8104366: ast_for_stmt (Python/ast.c:1458) ==3872== by 0x81036BF: ast_for_suite (Python/ast.c:1195) ==3872== by 0x810135B: ast_for_funcdef (Python/ast.c:426) ==3872== 12 bytes in 1 blocks are definitely lost in loss record 6 of 241 ==3872== at 0x40168A70: malloc (vg_clientfuncs.c:100) ==3872== by 0x806C3A7: PyObject_Malloc (Objects/obmalloc.c:854) ==3872== by 0x81002C5: asdl_seq_new (Python/asdl.c:7) ==3872== by 0x8102A84: ast_for_exprlist (Python/ast.c:953) ==3872== by 0x81016B7: ast_for_listcomp (Python/ast.c:515) ==3872== by 0x81019C6: ast_for_atom (Python/ast.c:579) ==3872== by 0x8102261: ast_for_expr (Python/ast.c:779) ==3872== by 0x81026B8: ast_for_testlist (Python/ast.c:872) ==3872== by 0x8102C8B: ast_for_flow_stmt (Python/ast.c:1000) ==3872== by 0x810425E: ast_for_stmt (Python/ast.c:1432) ==3872== by 0x81036BF: ast_for_suite (Python/ast.c:1195) ==3872== by 0x8103D76: ast_for_except_clause (Python/ast.c:1337) ==3872== by 0x8103F65: ast_for_try_stmt (Python/ast.c:1369) ==3872== by 0x8104366: ast_for_stmt (Python/ast.c:1458) ==3872== 100 bytes in 5 blocks are definitely lost in loss record 106 of 241 ==3872== at 0x40168A70: malloc (vg_clientfuncs.c:100) ==3872== by 0x81059DF: PyNode_New (Parser/node.c:10) ==3872== by 0x80DBEBA: PyParser_New (Parser/parser.c:85) ==3872== by 0x8054F77: parsetok (Parser/parsetok.c:100) ==3872== by 0x8054F51: PyParser_ParseFileFlags (Parser/parsetok.c:81) ==3872== by 0x80C246A: PyParser_ASTFromFile (Python/pythonrun.c:1099) ==3872== by 0x80B6E63: parse_source_module (Python/import.c:660) ==3872== by 0x80B7115: load_source_module (Python/import.c:782) ==3872== by 0x80B7EDC: load_module (Python/import.c:1455) ==3872== by 0x80B95A5: import_submodule (Python/import.c:1994)