Codebase update and improvements, instruction DB update

* Denested src folder to root, renamed testing to asmjit-testing

  * Refactored how headers are included into <asmjit/...> form. This
    is necessary as compilers would never simplify a path once a ..
    appears in include directory - then paths such as ../core/../core
    appeared in asserts, which was ugly

  * Moved support utilities into asmjit/support/... (still included
    by asmjit/core.h for convenience and compatibility)

  * Added CMakePresets.json for making it easy to develop AsmJit

  * Reworked CMakeLists to be shorter and use CMake option(),
    etc... This simplifies it and makes it using more standard
    features

  * ASMJIT_EMBED now creates asmjit_embed INTERFACE library,
    which is accessible via asmjit::asmjit target - this simplifies
    embedding and makes it the same as library targets from a CMake
    perspective

  * Removed ASMJIT_DEPS - this is now provided by cmake target
    aliases - 'asmjit::asmjit' so users should not need this variable

  * Changed meaning of ASMJIT_LIBS - this now contains only AsmJit
    dependencies without asmjit::asmjit target alias. Don't rely on
    ASMJIT_LIBS anymore as it's only used internally

  * Removed ASMJIT_NO_DEPRECATED option - AsmJit is not going
    to provide controllable deprecations in the future

  * Removed ASMJIT_NO_VALIDATION in favor of ASMJIT_NO_INTROSPECTION,
    which now controls query, features, and validation API presence

  * Removed ASMJIT_DIR option - it was never really needed

  * Removed AMX_TRANSPOSE feature from instruction database (X86).
    Intel has removed it as well, so it's a feature that won't
    be siliconized
This commit is contained in:
kobalicek
2025-11-02 22:31:14 +01:00
parent 5134d396bd
commit b56f4176cb
209 changed files with 1687 additions and 1857 deletions

View File

@@ -405,7 +405,7 @@ class Generator {
}
const generator = new Generator({
baseDir : path.resolve(__dirname, "../src"),
baseDir : path.resolve(__dirname, ".."),
verify : process.argv.indexOf("--verify") !== -1,
noBackup: process.argv.indexOf("--no-backup") !== -1
});

View File

@@ -83,7 +83,7 @@ class ArmTableGen extends core.TableGen {
// --------------------------------------------------------------------------
parse() {
const rawData = this.dataOfFile("src/asmjit/arm/a64instdb.cpp");
const rawData = this.dataOfFile("asmjit/arm/a64instdb.cpp");
const stringData = StringUtils.extract(rawData, "// ${InstInfo:Begin}", "// ${InstInfo:End");
const re = new RegExp(
@@ -186,11 +186,11 @@ class ArmTableGen extends core.TableGen {
onBeforeRun() {
this.load([
"src/asmjit/arm/a64emitter.h",
"src/asmjit/arm/a64globals.h",
"src/asmjit/arm/a64instdb.cpp",
"src/asmjit/arm/a64instdb.h",
"src/asmjit/arm/a64instdb_p.h"
"asmjit/arm/a64emitter.h",
"asmjit/arm/a64globals.h",
"asmjit/arm/a64instdb.cpp",
"asmjit/arm/a64instdb.h",
"asmjit/arm/a64instdb_p.h"
]);
this.parse();
}

View File

@@ -469,7 +469,7 @@ class X86TableGen extends core.TableGen {
// --------------------------------------------------------------------------
parse() {
const data = this.dataOfFile("src/asmjit/x86/x86instdb.cpp");
const data = this.dataOfFile("asmjit/x86/x86instdb.cpp");
const re = new RegExp(
"INST\\(" +
"([A-Za-z0-9_]+)\\s*" + "," + // [01] Instruction.
@@ -777,10 +777,10 @@ class X86TableGen extends core.TableGen {
onBeforeRun() {
this.load([
"src/asmjit/x86/x86globals.h",
"src/asmjit/x86/x86instdb.cpp",
"src/asmjit/x86/x86instdb.h",
"src/asmjit/x86/x86instdb_p.h"
"asmjit/x86/x86globals.h",
"asmjit/x86/x86instdb.cpp",
"asmjit/x86/x86instdb.h",
"asmjit/x86/x86instdb_p.h"
]);
this.parse();
}