summaryrefslogtreecommitdiff
path: root/MLKLLVMCompiler.h
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-11 19:07:12 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-11 19:07:12 +0200
commit7af4077884b2a9aadbed2fd8ff56266874252c35 (patch)
tree6623316f70164b9b2bf62ed1625d278c6fc26a80 /MLKLLVMCompiler.h
parent0e5c25802c9d069a290555629f35f93091839b09 (diff)
LLVM compiler: Support %LAMBDA, PROGN, %LOOP, lexical variables, and function calls.
Diffstat (limited to 'MLKLLVMCompiler.h')
-rw-r--r--MLKLLVMCompiler.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/MLKLLVMCompiler.h b/MLKLLVMCompiler.h
index 507c652..c0e9e7c 100644
--- a/MLKLLVMCompiler.h
+++ b/MLKLLVMCompiler.h
@@ -37,14 +37,25 @@ using namespace llvm;
+(void) processTopLevelForm:(id)object;
#ifdef __cplusplus
-+(Value *) processForm:(MLKForm *)form
- inBlock:(BasicBlock **)block;
++(Value *) processForm:(MLKForm *)form;
+
++(Value *) insertMethodCall:(NSString *)messageName
+ onObject:(Value *)object;
#endif
@end
#ifdef __cplusplus
@interface MLKForm (MLKLLVMCompilation)
--(Value *) processForLLVMInBlock:(BasicBlock **)block;
+-(Value *) processForLLVM;
+@end
+
+
+@interface MLKLexicalContext (MLKLLVMCompilation)
+-(BOOL) isHeapVariable:(id)name;
+-(Value *) functionCellForSymbol:(id)name;
+-(Value *) closureDataPointerForSymbol:(id)name;
+-(Value *) bindingForSymbol:(id)name;
+-(Value *) valueForSymbol:(id)name;
@end
#endif