From 7af4077884b2a9aadbed2fd8ff56266874252c35 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Mon, 11 Aug 2008 19:07:12 +0200 Subject: LLVM compiler: Support %LAMBDA, PROGN, %LOOP, lexical variables, and function calls. --- MLKLLVMCompiler.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'MLKLLVMCompiler.h') 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 -- cgit v1.2.3