1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:27:35 +00:00

LibJIT: Make X86_64Assembler::native_call take u64 instead of void*

Now that x86-specific Assembler will be compiled on every architecture
we can't rely on void* being the right width.
It also fixes compilation on targets which have void*
be different length from u64 (WASM in particular).
This commit is contained in:
Nikodem Rabuliński 2023-11-05 21:16:08 +01:00 committed by Andreas Kling
parent 8aa35f4fab
commit bacbd830fe
2 changed files with 4 additions and 4 deletions

View file

@ -1919,7 +1919,7 @@ void Compiler::native_call(void* function_address, Vector<Assembler::Operand> co
{
// NOTE: We don't preserve caller-saved registers when making a native call.
// This means that they may have changed after we return from the call.
m_assembler.native_call(function_address, { Assembler::Operand::Register(ARG0) }, stack_arguments);
m_assembler.native_call(bit_cast<u64>(function_address), { Assembler::Operand::Register(ARG0) }, stack_arguments);
}
OwnPtr<NativeExecutable> Compiler::compile(Bytecode::Executable& bytecode_executable)