Mercurial > projects > ldc
diff gen/irstate.h @ 309:d59c363fccad trunk
[svn r330] Implemented synchronized statements.
Changed the tryfinally handlers to a more generalized EnclosingHandler.
Changed ClassInfoS to be mutable so they can be used as locks.
Added new BB after throw ala return/break etc.
author | lindquist |
---|---|
date | Sat, 28 Jun 2008 11:37:53 +0200 |
parents | 2b72433d5c8c |
children | 9967a3270837 |
line wrap: on
line diff
--- a/gen/irstate.h Sat Jun 28 05:57:16 2008 +0200 +++ b/gen/irstate.h Sat Jun 28 11:37:53 2008 +0200 @@ -23,7 +23,7 @@ struct Module; struct TypeStruct; struct BaseClass; -struct TryFinallyStatement; +struct EnclosingHandler; struct IrModule; @@ -44,10 +44,10 @@ // generating statement Statement* s; // the try of a TryFinally that encloses the loop - TryFinallyStatement* enclosingtryfinally; + EnclosingHandler* enclosinghandler; IRLoopScope(); - IRLoopScope(Statement* s, TryFinallyStatement* enclosingtryfinally, llvm::BasicBlock* b, llvm::BasicBlock* e); + IRLoopScope(Statement* s, EnclosingHandler* enclosinghandler, llvm::BasicBlock* b, llvm::BasicBlock* e); }; struct IRBuilderHelper @@ -96,7 +96,8 @@ llvm::Module* module; // interface info type, used in DtoInterfaceInfoType - llvm::StructType* interfaceInfoType; + const LLStructType* interfaceInfoType; + const LLStructType* mutexType; // functions typedef std::vector<IrFunction*> FunctionVector;