Mercurial > projects > ldc
view ir/irdtype.cpp @ 1212:df2227fdc860
For the outermost function needing a context frame, use the address of that
frame as the nest argument instead of the address of a single-element list
containing only that frame address.
This saves some stack space and reduces memory accesses.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 13 Apr 2009 04:09:08 +0200 |
parents | a6dbd571d417 |
children | 2a92c115461d |
line wrap: on
line source
#include "gen/llvm.h" #include "ir/ir.h" #include "ir/irdtype.h" std::set<IrDType*> IrDType::list; void IrDType::resetAll() { std::set<IrDType*>::iterator it; for(it = list.begin(); it != list.end(); ++it) (*it)->reset(); } IrDType::IrDType() { assert(list.insert(this).second); reset(); } IrDType::IrDType(const IrDType& s) { assert(list.insert(this).second); type = s.type; } IrDType::~IrDType() { list.erase(this); } void IrDType::reset() { type = NULL; }