Disable icicle jit (#183)

This commit is contained in:
Maurice Heumann
2025-04-09 04:42:10 +02:00
committed by GitHub
5 changed files with 13 additions and 11 deletions

View File

@@ -20,14 +20,6 @@ on:
options:
- "true"
- "false"
icicle_debug:
description: "Run debug tests with icicle emulator"
type: choice
required: false
default: "false"
options:
- "true"
- "false"
#concurrency:
# group: ${{ github.ref }}
@@ -344,7 +336,6 @@ jobs:
run: cp build/${{matrix.preset}}/artifacts/test-sample.exe build/${{matrix.preset}}/artifacts/root/filesys/c/
- name: CMake Test
if: "${{ matrix.emulator != 'Icicle' || matrix.configuration != 'Debug' || github.event.inputs.icicle_debug == 'true' || github.event.inputs.icicle_debug == 'true' || github.event_name == 'schedule' }}"
run: cd build/${{matrix.preset}} && ctest --verbose -j
env:
EMULATOR_ROOT: ${{github.workspace}}/build/${{matrix.preset}}/artifacts/root
@@ -410,7 +401,6 @@ jobs:
run: cp build/${{matrix.preset}}/artifacts/test-sample.exe build/${{matrix.preset}}/artifacts/root/filesys/c/
- name: Run Test
if: "${{ matrix.emulator != 'Icicle' || matrix.configuration != 'Debug' || github.event.inputs.icicle_debug == 'true' || github.event.inputs.icicle_debug == 'true' || github.event_name == 'schedule' }}"
uses: reactivecircus/android-emulator-runner@v2.34.0
with:
api-level: 29

View File

@@ -18,6 +18,8 @@ class emulator : public cpu_interface, public memory_interface, public hook_inte
emulator(emulator&&) = delete;
emulator& operator=(emulator&&) = delete;
virtual std::string get_name() const = 0;
virtual void serialize_state(utils::buffer_serializer& buffer, bool is_snapshot) const = 0;
virtual void deserialize_state(utils::buffer_deserializer& buffer, bool is_snapshot) = 0;
};

View File

@@ -416,6 +416,11 @@ namespace icicle
return false;
}
std::string get_name() const override
{
return "icicle-emu";
}
private:
std::list<std::unique_ptr<utils::object>> storage_{};
std::unordered_map<uint32_t, std::unique_ptr<utils::object>> hooks_{};

View File

@@ -6,7 +6,7 @@ use crate::registers;
fn create_x64_vm() -> icicle_vm::Vm {
let mut cpu_config = icicle_vm::cpu::Config::from_target_triple("x86_64-none");
cpu_config.enable_jit = true;
cpu_config.enable_jit = false;
cpu_config.enable_jit_mem = true;
cpu_config.enable_shadow_stack = false;
cpu_config.enable_recompilation = true;

View File

@@ -678,6 +678,11 @@ namespace unicorn
return this->has_violation_;
}
std::string get_name() const override
{
return "Unicorn Engine";
}
private:
mutable bool has_snapshots_{false};
uc_engine* uc_{};