summaryrefslogtreecommitdiff
path: root/ujit_asm.h
Commit message (Collapse)AuthorAgeFilesLines
* MicroJIT: generate less code for CFUNCsAlan Wu2021-10-201-1/+1
| | | | | | | | Added UJIT_CHECK_MODE. Set to 1 to double check method dispatch in generated code. It's surprising to me that we need to watch both cc and cme. There might be opportunities to simplify there.
* Added RUBY_VM_CHECK_INTS to CFUNC callsMaxime Chevalier-Boisvert2021-10-201-1/+1
|
* Implemented mechanism for rel32 callMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* First pass at CFUNC calls complete. Not yet functional.Maxime Chevalier-Boisvert2021-10-201-0/+4
|
* Added int3() to x86 asmMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* Anonymous union is a C11 feature unavailable to usAlan Wu2021-10-201-67/+67
|
* Respect redefinition in MicroJIT's opt_minusAlan Wu2021-10-201-2/+2
|
* Removed inc/dec instructions because usage not recommended.Maxime Chevalier-Boisvert2021-10-201-2/+0
|
* Move registers into header and make them staticAlan Wu2021-10-201-66/+66
| | | | | We were leaking these as global symbols and were having linking errors with Clang 12.
* Implemented opt_minus in MicroJITMaxime Chevalier-Boisvert2021-10-201-0/+8
|
* Comment out jnl to fix Linux build againAlan Wu2021-10-201-1/+1
|
* Added member_opnd() convenience macroMaxime Chevalier-Boisvert2021-10-201-0/+7
|
* Added jmp_ptr() to ujit_asm.hMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* Implemented side-exits to interpreter. setlocal_WC_0Maxime Chevalier-Boisvert2021-10-201-2/+34
|
* Comment out jnl to avoid conflict with system headerAlan Wu2021-10-201-1/+1
| | | | This is specific to Linux
* Added 8-bit and 16-bit general-purpose registers, more tests.Maxime Chevalier-Boisvert2021-10-201-0/+36
|
* Added method to align code block write positionMaxime Chevalier-Boisvert2021-10-201-0/+3
|
* Port print_int, movsx. Implement putself.Maxime Chevalier-Boisvert2021-10-201-0/+1
|
* Add function to print strings from generated codeMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* Compiling getlocal_WC_0Maxime Chevalier-Boisvert2021-10-201-2/+6
|
* Ported xor and cmovcc instructionsMaxime Chevalier-Boisvert2021-10-201-0/+31
|
* Ported neg, and, or instructionsMaxime Chevalier-Boisvert2021-10-201-1/+4
|
* Remove PC argument from ujit instructionsMaxime Chevalier-Boisvert2021-10-201-1/+4
|
* Small refactorings in ujit_compile.cMaxime Chevalier-Boisvert2021-10-201-4/+0
|
* Added cmp, not. Generate code for nop instruction.Maxime Chevalier-Boisvert2021-10-201-0/+4
|
* Ported inc/dec instructionsMaxime Chevalier-Boisvert2021-10-201-0/+2
|
* Removed native_pop_code, ported call with labelMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* Ported label linking and conditional jumpsMaxime Chevalier-Boisvert2021-10-201-1/+40
|
* Added shift instructionsMaxime Chevalier-Boisvert2021-10-201-0/+4
|
* Added sub instruction, 32-bit registers, more testsMaxime Chevalier-Boisvert2021-10-201-6/+20
|
* Added jmp R/M instructionMaxime Chevalier-Boisvert2021-10-201-0/+1
|
* add and mov instruction encoding ported and testedMaxime Chevalier-Boisvert2021-10-201-3/+15
|
* Progress on x86 assembler. Encode a few simple instructions.Maxime Chevalier-Boisvert2021-10-201-1/+95
|
* Started porting instruction encodingMaxime Chevalier-Boisvert2021-10-201-5/+11
|
* Progress on porting x86 assembler for MicroJITMaxime Chevalier-Boisvert2021-10-201-0/+72