diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 4098a26..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: kobalicek diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 54f5047..b7b9962 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ ### Asking questions - * We prefer GitHub issues to be used for reporting bugs or feature requests, but it's still okay to ask questions there as well. However, please consider joining our [Gitter Chat](https://app.gitter.im/#/room/#asmjit:gitter.im) to ask questions; it has an active community that can quickly respond. + * We prefer GitHub issues to be used for reporting bugs or feature requests, but it's still okay to ask questions there as well. However, please consider joining our [Chat](https://app.element.io/#/room/#asmjit:gitter.im) to ask questions; it has an active community that can quickly respond. ### Suggesting feature requests @@ -26,7 +26,7 @@ ### Suggesting a website content enhancement - * [AsmJit's website](https://asmjit.com) is also generated, but not from public sources at the moment. If you did find an issue on the website you can either use contact information on the [support page](https://asmjit.com/support.html) or to discuss the change on our [Gitter Chat](https://app.gitter.im/#/room/#asmjit:gitter.im). Alternatively, opening a regular issue is also okay. + * [AsmJit's website](https://asmjit.com) is also generated, but not from public sources at the moment. If you did find an issue on the website you can either use contact information on the [support page](https://asmjit.com/support.html) or to discuss the change on our [Chat](https://app.element.io/#/room/#asmjit:gitter.im). Alternatively, opening a regular issue is also okay. ## Coding Style & Consistency @@ -37,42 +37,44 @@ * Initially, AsmJit coding style was based on Google C++ Style Guide, but it has diverged from it. - * Include guards use `_H_INCLUDED` format. + * Include guards use `ASMJIT_<...PATH...>_H_INCLUDED` format. * `asmjit` namespace must be open by `ASMJIT_BEGIN_NAMESPACE` and closed by `ASMJIT_END_NAMESPACE` * `asmjit::xxx` (backend specific) nested namespace must be open by `ASMJIT_BEGIN_SUB_NAMESPACE(xxx)` and closed by `ASMJIT_END_SUB_NAMESPACE`. - * Opening bracket is on the same line, like `struct Something {`, `if (condition) {`, etc... + * Opening brackets are on the same line, like `struct Something {`, `if (condition) {`, etc... * The code uses a soft limit of 120 characters per line (including documentation), but it's not enforced and it's okay to use more when it makes sense (for example defining tables, etc...). - * Since AsmJit doesn't use Exceptions nor RTTI the code cannot use containers provided by the C++ standard library. In general, we try to only use a bare minimum from the C++ standard library to make it viable to use AsmJit even in C code bases where JIT complier is implemented in C++ ([Erlang](https://www.erlang.org/) can be seen as a great example). + * Since AsmJit doesn't use Exceptions nor RTTI the code cannot use containers provided by the C++ standard library. In general, we try to only use a bare minimum from the C++ standard library to make it viable to use AsmJit even in C code bases where JIT compiler is implemented in C++ ([Erlang](https://www.erlang.org/) can be seen as a great example). + + * Please don't bring your own coding style preferences into the code base. ## Testing * AsmJit uses a minimalist unit testing framework to write unit tests to avoid third-party dependencies. - * At the moment tests are in the same file as the implementation and are only compiled when `ASMJIT_TEST` macro is defined. + * At the moment tests are in the same file as the implementation and are only compiled when `ASMJIT_TEST` macro is defined (will change in the future). * Use `-DASMJIT_TEST=1` when invoking [CMake](https://cmake.org/) to compile AsmJit tests. - * Unit tests are compiled to a single `asmjit_test_unit[.exe]` executable. + * Unit tests are compiled to a single `asmjit_test_runner[.exe]` executable. * Other tests have their own executables based on what is tested. - * Always add assembler tests when adding new instructions, see [asmjit_test_assembler_x64.cpp](./test/asmjit_test_assembler_x64.cpp) and [asmjit_test_assembler_a64.cpp](./test/asmjit_test_assembler_a64.cpp) for more details. + * Always add assembler tests when adding new instructions, see [asmjit_test_assembler_x64.cpp](./asmjit-testing/tests/asmjit_test_assembler_x64.cpp) and [asmjit_test_assembler_a64.cpp](./asmjit-testing/tests/asmjit_test_assembler_a64.cpp) for more details. ## Pull Request Messages + * If a change breaks ABI it must start with `[abi]` - this prefix has a precedence over anything else. + * If a change fixes a bug the message should should start with `[bug]`. * If a change fixes or enhances documentation it should start with `[doc]`. * If a change fixes or enhances our CI it should start with `[ci]`. - * If a change breaks ABI it must start with `[abi]`. - * Otherwise there is no suggested prefix. ## ABI Changes diff --git a/README.md b/README.md index c6385cb..e1909df 100644 --- a/README.md +++ b/README.md @@ -33,17 +33,17 @@ Roadmap * See [Roadmap](https://asmjit.com/roadmap.html) page for more details -Contributing ------------- - - * See [CONTRIBUTING](./CONTRIBUTING.md) page for more details - Documentation ------------- * [Documentation Index](https://asmjit.com/doc/index.html) * [Build Instructions](https://asmjit.com/doc/group__asmjit__build.html) (includes [CMake Integration](https://asmjit.com/doc/group__asmjit__build.html#cmake_integration)) +Contributing Guidelines +----------------------- + + * See [CONTRIBUTING](./CONTRIBUTING.md) page for more details + Development & Testing --------------------- @@ -63,11 +63,11 @@ Breaking the API is sometimes inevitable, what to do? * [asmjit_test_x86_sections.cpp](./asmjit-testing/tests/asmjit_test_x86_sections.cpp) - Multiple sections test * Visit our [Gitter Chat](https://app.gitter.im/#/room/#asmjit:gitter.im) if you need a quick help -Support -------- +Support & Funding +----------------- * AsmJit project has both community and commercial support, see [AsmJit's Support Page](https://asmjit.com/support.html) - * Organizations that rely on AsmJit should support the development! + * If you use this software commercially, please see the [Funding Page](https://kobalicek.com/funding.html) and support the development Notable Donors List: diff --git a/asmjit/core.h b/asmjit/core.h index b26b45f..c26ddb8 100644 --- a/asmjit/core.h +++ b/asmjit/core.h @@ -1021,7 +1021,7 @@ namespace asmjit { //! \section code_sections Code & Data Sections //! //! AsmJit allows to create multiple sections within the same \ref CodeHolder. A test-case -//! [asmjit_test_x86_sections.cpp](https://github.com/asmjit/asmjit/blob/master/test/asmjit_test_x86_sections.cpp) +//! [asmjit_test_x86_sections.cpp](https://github.com/asmjit/asmjit/blob/master/asmjit-testing/tests/asmjit_test_x86_sections.cpp) //! can be used as a reference point although the following example should also provide a useful insight: //! //! ``` @@ -1860,7 +1860,7 @@ namespace asmjit { //! instruction with operands must be given as some architectures like X86 may require different features for the //! same instruction based on its operands. //! -//! - asmjit_test_instinfo.cpp +//! - asmjit_test_instinfo.cpp //! can be also used as a reference about accessing instruction information. //! //! \section instruction_validation Instruction Validation