Skip to content

Commit

Permalink
refactor(kclvm-runner): encapsulate dylib generating, linking and exe…
Browse files Browse the repository at this point in the history
…cuting in kclvm/lib.rs into kclvm-runner

The assembler and linker of the current version of the compiler are not separately packaged.
In order to support the reuse of modules such as dylibs generating,linking and executing,
This modification separates dylibs generating,and encapsulate them individually into KclvmAssembler and KclvmLinker.

Encapsulate dylibs generating, linking and executing into kclvm-runner/assembler.rs and kclvm-runner/linker.rs.
Add struct "KclvmAssembler" in kclvm-runner/assembler.rs to provide method "gen_dylibs" for dylibs generating.
Add struct "KclvmLinker" in kclvm-runner/linker.rs to provide method "link_all_dylibs" for dylib linking.
Add method "execute" in kclvm-runner/lib.rs to encapsulate dylibs generating(gen_dylib), dylib linking(link_all_dylib) and running(runner.run) together.

fix #67
  • Loading branch information
zong-zhe committed Jun 6, 2022
1 parent c562c0a commit e86954b
Show file tree
Hide file tree
Showing 19 changed files with 757 additions and 150 deletions.
1 change: 1 addition & 0 deletions kclvm/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e86954b

Please sign in to comment.