Use a string pool to reduce the memory footprint

git-svn-id: svn://svn.cc65.org/cc65/trunk@2197 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2003-06-04 12:40:14 +00:00
parent 4937cd236f
commit edde7a3f45
27 changed files with 551 additions and 374 deletions

View File

@@ -6,10 +6,10 @@
/* */
/* */
/* */
/* (C) 1998-2000 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* (C) 1998-2003 Ullrich von Bassewitz */
/* R<EFBFBD>merstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
@@ -118,9 +118,7 @@ int IsConstExpr (ExprNode* Root)
* which in turn means, that we have a circular reference.
*/
if (ExportHasMark (E)) {
Error ("Circular reference for symbol `%s', %s(%lu)",
E->Name, GetSourceFileName (E->Obj, E->Pos.Name),
E->Pos.Line);
CircularRefError (E);
Const = 0;
} else {
MarkExport (E);
@@ -198,7 +196,7 @@ Export* GetExprExport (ExprNode* Expr)
PRECONDITION (Expr->Op == EXPR_SYMBOL);
/* Return the export */
return Expr->Obj->Imports [Expr->V.ImpNum]->V.Exp;
return Expr->Obj->Imports [Expr->V.ImpNum]->Exp;
}
@@ -485,7 +483,7 @@ ExprNode* ReadExpr (FILE* F, ObjData* O)
/* Not a leaf node */
Expr->Left = ReadExpr (F, O);
Expr->Right = ReadExpr (F, O);
Expr->Right = ReadExpr (F, O);
}