summaryrefslogtreecommitdiff
path: root/ujit_codegen.c
AgeCommit message (Expand)Author
2021-10-20Only compile iseqs with simple parameters. Enable get_local_wc1Alan Wu
2021-10-20Commit WIP setlocal_WC_1 implementationMaxime Chevalier-Boisvert
2021-10-20Implement opt_le, opt_ge in ujitMaxime Chevalier-Boisvert
2021-10-20Fix overflow check in ujitMaxime Chevalier-Boisvert
2021-10-20Implement Ruby-to-Ruby calls in ujit (opt_send_without_block)Maxime Chevalier-Boisvert
2021-10-20Implement opt_and in ujitMaxime Chevalier-Boisvert
2021-10-20Restore interpreter regs in ujit hook. Implement leave bytecode.Maxime Chevalier-Boisvert
2021-10-20Tally instructions when taking side exists for --ujit-statsAlan Wu
2021-10-20Reduce size of ctx_tMaxime Chevalier-Boisvert
2021-10-20Report unknown --ujit-* optionsMaxime Chevalier-Boisvert
2021-10-20Implement --ujit-stats and instructoin countingAlan Wu
2021-10-20Set T_FIXNUM type tags in opt_plus, opt_minusMaxime Chevalier-Boisvert
2021-10-20Optimize putobject codegenMaxime Chevalier-Boisvert
2021-10-20Eliminate type checks in opt_ltMaxime Chevalier-Boisvert
2021-10-20Fix bug, block added with wrong blockid.Maxime Chevalier-Boisvert
2021-10-20Add support for multiple versions per blockMaxime Chevalier-Boisvert
2021-10-20Implement branchif in ujitMaxime Chevalier-Boisvert
2021-10-20Prototype type-specialization for temp valuesMaxime Chevalier-Boisvert
2021-10-20Take VM lock in branch_stub_hit(), fix ractor deadlock.Maxime Chevalier-Boisvert
2021-10-20Added gen_direct_jump() for unary branchesMaxime Chevalier-Boisvert
2021-10-20Complete refactoring to eliminate recursion in ujit's compilationMaxime Chevalier-Boisvert
2021-10-20End current block after opt_send_without_blockMaxime Chevalier-Boisvert
2021-10-20Added block end indexMaxime Chevalier-Boisvert
2021-10-20Fix ujit cc/cme invalidation code for opt_send_without_blockMaxime Chevalier-Boisvert
2021-10-20Sketch code to invalidate basic blocks. Rename version_t to block_t.Maxime Chevalier-Boisvert
2021-10-20Keep track of incoming branches in ujitMaxime Chevalier-Boisvert
2021-10-20Refactor ujit logic for generating iseq entry pointsMaxime Chevalier-Boisvert
2021-10-20Progress on code invalidationMaxime Chevalier-Boisvert
2021-10-20Introduce version_t struct. Will be needed for code invalidation.Maxime Chevalier-Boisvert
2021-10-20Fix hash map key issueMaxime Chevalier-Boisvert
2021-10-20Fix uint cast bug caught by AlanMaxime Chevalier-Boisvert
2021-10-20Refactorings in ujit. Implement Ruby jump instruction.Maxime Chevalier-Boisvert
2021-10-20Avoid generating redundant interpreter exit code after branchesMaxime Chevalier-Boisvert
2021-10-20Fix sneaky ujit side-exit bug. Reduce ujit call threshold to 1.Maxime Chevalier-Boisvert
2021-10-20Use a versioning context when compiling blocksMaxime Chevalier-Boisvert
2021-10-20Split out context object into jitstate_t and ctx_tMaxime Chevalier-Boisvert
2021-10-20Split out compile_entry() from compile_block()Maxime Chevalier-Boisvert
2021-10-20Fixed one bug in compile_block.Maxime Chevalier-Boisvert
2021-10-20Stub logic working for fib test, but still crashing in other casesMaxime Chevalier-Boisvert
2021-10-20Implement branch stub logicMaxime Chevalier-Boisvert
2021-10-20WIP branch generation codeMaxime Chevalier-Boisvert
2021-10-20Thread insn_idx through context objectMaxime Chevalier-Boisvert
2021-10-20Implemented opt_lt. Prelude to branch instructions.Maxime Chevalier-Boisvert
2021-10-20Start implementing BBV primitivesMaxime Chevalier-Boisvert
2021-10-20Start refactoring JIT engineMaxime Chevalier-Boisvert
2021-10-20Move code into ujit_iface.cMaxime Chevalier-Boisvert
2021-10-20Refactor uJIT code into more files for readabilityMaxime Chevalier-Boisvert