• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..21-Nov-2021-

core/H21-Nov-2021-37,40420,197

x86/H21-Nov-2021-26,74019,339

LICENSE.mdH A D21-Nov-2021862 1814

README.mdH A D21-Nov-20212.9 KiB7252

asmjit-scope-begin.hH A D21-Nov-20211.2 KiB3610

asmjit-scope-end.hH A D21-Nov-20211.1 KiB284

asmjit.hH A D21-Nov-20211.3 KiB3810

core.hH A D21-Nov-202190.6 KiB2,06451

x86.hH A D21-Nov-20214.9 KiB12014

README.md

1AsmJit
2------
3
4AsmJit is a lightweight library for machine code generation written in C++ language.
5
6  * [Official Home Page (asmjit.com)](https://asmjit.com)
7  * [Official Repository (asmjit/asmjit)](https://github.com/asmjit/asmjit)
8  * [Public Chat Channel](https://gitter.im/asmjit/asmjit)
9  * [Zlib License](./LICENSE.md)
10
11See [asmjit.com](https://asmjit.com) page for more details, examples, and documentation.
12
13Documentation
14-------------
15
16  * [Documentation Index](https://asmjit.com/doc/index.html)
17  * [Build Instructions](https://asmjit.com/doc/group__asmjit__build.html)
18
19Breaking Changes
20----------------
21
22Breaking the API is sometimes inevitable, what to do?
23
24  * See [Breaking Changes Guide](https://asmjit.com/doc/group__asmjit__breaking__changes.html), which is now part of AsmJit documentation.
25  * See asmjit tests, they always compile and provide implementation of many use-cases:
26    * [asmjit_test_emitters.cpp](./test/asmjit_test_emitters.cpp) - Tests that demonstrate the purpose of emitters.
27    * [asmjit_test_assembler_x86.cpp](./test/asmjit_test_assembler_x86.cpp) - Tests targeting AsmJit's Assembler (x86/x64).
28    * [asmjit_test_compiler_x86.cpp](./test/asmjit_test_compiler_x86.cpp) - Tests targeting AsmJit's Compiler (x86/x64).
29    * [asmjit_test_instinfo.cpp](./test/asmjit_test_instinfo.cpp) - Tests that query instruction information.
30    * [asmjit_test_x86_sections.cpp](./test/asmjit_test_x86_sections.cpp) - Multiple sections test.
31  * Visit our [Official Chat](https://gitter.im/asmjit/asmjit) if you need a quick help.
32
33Project Organization
34--------------------
35
36  * **`/`**        - Project root.
37    * **src**      - Source code.
38      * **asmjit** - Source code and headers (always point include path in here).
39        * **core** - Core API, backend independent except relocations.
40        * **arm**  - ARM specific API, used only by ARM and AArch64 backends.
41        * **x86**  - X86 specific API, used only by X86 and X64 backends.
42    * **test**     - Unit and integration tests (don't embed in your project).
43    * **tools**    - Tools used for configuring, documenting, and generating files.
44
45TODO
46----
47
48  * [ ] Core:
49    * [ ] Add support for user external buffers in CodeBuffer / CodeHolder.
50    * [ ] Register allocator doesn't understand register pairs, affected instructions:
51      * [ ] v4fmaddps, v4fmaddss, v4fnmaddps, v4fnmaddss
52      * [ ] vp4dpwssd, vp4dpwssds
53      * [ ] vp2intersectd, vp2intersectq
54  * [ ] Ports:
55    * [ ] ARM/Thumb/AArch64 support.
56
57Support
58-------
59
60  * AsmJit project has both community and commercial support, see [AsmJit's Support Page](https://asmjit.com/support.html)
61  * You can help the development and maintenance through Petr Kobalicek's [GitHub sponsors Profile](https://github.com/sponsors/kobalicek)
62
63Notable Donors List:
64
65  * [ZehMatt](https://github.com/ZehMatt)
66
67
68Authors & Maintainers
69---------------------
70
71  * Petr Kobalicek <kobalicek.petr@gmail.com>
72