Mercurial > projects > ldc
comparison ir/irfunction.h @ 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 | 8699c450a1a0 |
children | 033f18ec1371 |
comparison
equal
deleted
inserted
replaced
1211:50dc0db06238 | 1212:df2227fdc860 |
---|---|
44 llvm::Value* thisArg; // class/struct 'this' arg | 44 llvm::Value* thisArg; // class/struct 'this' arg |
45 llvm::Value* nestArg; // nested function 'this' arg | 45 llvm::Value* nestArg; // nested function 'this' arg |
46 | 46 |
47 llvm::Value* nestedVar; // nested var alloca | 47 llvm::Value* nestedVar; // nested var alloca |
48 const llvm::StructType* framesType; // type of nested context (not for -nested-ctx=array) | 48 const llvm::StructType* framesType; // type of nested context (not for -nested-ctx=array) |
49 bool elidedCtxList; // whether the nested context is a raw frame instead of a list of frames (-nested-ctx=hybrid only) | |
49 | 50 |
50 llvm::Value* _arguments; | 51 llvm::Value* _arguments; |
51 llvm::Value* _argptr; | 52 llvm::Value* _argptr; |
52 | 53 |
53 llvm::DISubprogram diSubprogram; | 54 llvm::DISubprogram diSubprogram; |