From 6ac0fb80a6eab6ba28838e8e577dc8ae8cba06a7 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 27 May 2020 12:32:11 +0100 Subject: Minor tokenizer performance improvements --- src/llvm_backend.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/llvm_backend.cpp') diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 8095b06f1..f152c7596 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2034,6 +2034,11 @@ lbProcedure *lb_create_procedure(lbModule *m, Entity *entity) { LLVMSetLinkage(p->value, LLVMDLLExportLinkage); LLVMSetDLLStorageClass(p->value, LLVMDLLExportStorageClass); LLVMSetVisibility(p->value, LLVMDefaultVisibility); + + if (build_context.metrics.os == TargetOs_js) { + LLVMAddTargetDependentFunctionAttr(p->value, "wasm-export-name", alloc_cstring(heap_allocator(), p->name)); + LLVMAddTargetDependentFunctionAttr(p->value, "wasm-exported", nullptr); + } } // NOTE(bill): offset==0 is the return value @@ -12173,7 +12178,9 @@ void lb_generate_code(lbGenerator *gen) { TIME_SECTION("LLVM Object Generation"); - LLVMBool was_an_error = LLVMTargetMachineEmitToFile(target_machine, mod, cast(char *)filepath_obj.text, LLVMObjectFile, &llvm_error); + LLVMCodeGenFileType code_gen_file_type = LLVMObjectFile; + + LLVMBool was_an_error = LLVMTargetMachineEmitToFile(target_machine, mod, cast(char *)filepath_obj.text, code_gen_file_type, &llvm_error); if (was_an_error) { gb_printf_err("LLVM Error: %s\n", llvm_error); gb_exit(1); -- cgit v1.2.3