Commit graph

32 commits

Author SHA1 Message Date
Maxime Chevalier-Boisvert
e5751768ba Added int3() to x86 asm 2021-10-20 18:19:25 -04:00
Alan Wu
beab644408 Anonymous union is a C11 feature unavailable to us 2021-10-20 18:19:25 -04:00
Alan Wu
bab308b923 Explicitly convert function pointer to void pointer 2021-10-20 18:19:24 -04:00
Alan Wu
b8dff14afa _GNU_SOURCE has to be before includes 2021-10-20 18:19:24 -04:00
Alan Wu
a132d69757 Get access to MAP_ANONYMOUS in pedantic compile mode 2021-10-20 18:19:24 -04:00
Alan Wu
040cfdb139 Small build fixes 2021-10-20 18:19:24 -04:00
Alan Wu
7d1546ece5 Try to fix Windows build 2021-10-20 18:19:24 -04:00
Maxime Chevalier-Boisvert
12283c58da Removed inc/dec instructions because usage not recommended. 2021-10-20 18:19:24 -04:00
Alan Wu
7fbf6d4019 Move registers into header and make them static
We were leaking these as global symbols and were having linking errors
with Clang 12.
2021-10-20 18:19:24 -04:00
Maxime Chevalier-Boisvert
e99e3daace Added jmp_ptr() to ujit_asm.h 2021-10-20 18:19:24 -04:00
Maxime Chevalier-Boisvert
e0c5d4ecd9 Implemented side-exits to interpreter. setlocal_WC_0 2021-10-20 18:19:24 -04:00
Maxime Chevalier-Boisvert
38601da27d Added 8-bit and 16-bit general-purpose registers, more tests. 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
304adba717 Add location hint to code block mmap call 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
c20066b24c Added method to align code block write position 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
d1c9ca86c1 Port print_int, movsx. Implement putself. 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
b8a3f2ed61 Add function to print strings from generated code 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
2811792f91 Compiling getlocal_WC_0 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
2e31949225 Ported xor and cmovcc instructions 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
090255456a Ported neg, and, or instructions 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
3739588811 Remove PC argument from ujit instructions 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
ca47899ccf Small refactorings in ujit_compile.c 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
1879a123ca Added cmp, not. Generate code for nop instruction. 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
7d0df31d7a Ported inc/dec instructions 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
26fecc7236 Removed native_pop_code, ported call with label 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
6a12fb2067 Ported label linking and conditional jumps 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
566d4abee5 Added shift instructions 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
efcaa49a7b Added sub instruction, 32-bit registers, more tests 2021-10-20 18:19:23 -04:00
Maxime Chevalier-Boisvert
1392a6f2a4 Added jmp R/M instruction 2021-10-20 18:19:22 -04:00
Maxime Chevalier-Boisvert
a3b411b9c8 add and mov instruction encoding ported and tested 2021-10-20 18:19:22 -04:00
Maxime Chevalier-Boisvert
8f40a62647 Progress on x86 assembler. Encode a few simple instructions. 2021-10-20 18:19:22 -04:00
Maxime Chevalier-Boisvert
5cf7ccd24a Started porting instruction encoding 2021-10-20 18:19:22 -04:00
Maxime Chevalier-Boisvert
0a5dcc056e Progress on porting x86 assembler for MicroJIT 2021-10-20 18:19:22 -04:00