diff options
-rw-r--r-- | MLKLexicalContext-MLKLLVMCompilation.mm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/MLKLexicalContext-MLKLLVMCompilation.mm b/MLKLexicalContext-MLKLLVMCompilation.mm index 2ff7ec0..9ca18e4 100644 --- a/MLKLexicalContext-MLKLLVMCompilation.mm +++ b/MLKLexicalContext-MLKLLVMCompilation.mm @@ -50,10 +50,14 @@ using namespace std; -(Value *) functionCellValueForSymbol:(id)name { + std::vector<const Type *> types (1, PointerType::get(Type::Int8Ty, 0)); return (new IntToPtrInst (ConstantInt::get(Type::Int64Ty, (uint64_t)[self functionCellForSymbol:name], false), - PointerType::get(Type::Int8Ty, 0))); + PointerType::get(FunctionType::get(PointerType::get(Type::Int8Ty, 0), + types, + true), + 0))); } -(Value *) closureDataPointerValueForSymbol:(id)name @@ -61,7 +65,7 @@ using namespace std; return (new IntToPtrInst (ConstantInt::get(Type::Int64Ty, (uint64_t)[self closureDataPointerForSymbol:name], false), - PointerType::get(Type::Int8Ty, 0))); + PointerType::get(PointerType::get(Type::Int8Ty, 0), 0))); } -(Value *) bindingValueForSymbol:(id)name |