| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-10-20 | Refactor uJIT code into more files for readability | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Implemented opt_plus in MicroJIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Rename function and variable | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: coalesce heap pointer check on self | Alan Wu | |
| 2021-10-20 | Implemented setinstancevariable | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add comment wrt getivar and allocators | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Remove T_OBJECT runtime check | Aaron Patterson | |
| If the cached class uses the default allocator, then all instances coming from the class should be T_OBJECT instances. Meaning we can just check the allocator function at compile time, then skip the runtime T_OBJECT check | |||
| 2021-10-20 | Basic implementation of getivar for MicroJIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Deoptimize on side-exit | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Rename variables for clarity | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: Count number of compiled instructions better | Alan Wu | |
| 2021-10-20 | Make a bunch of functions compilation unit local | Alan Wu | |
| 2021-10-20 | Include disassembly in MicroJIT scraper output | Alan Wu | |
| 2021-10-20 | MicroJIT: avoid having to invalidate running output code | Alan Wu | |
| 2021-10-20 | Update comment for `ujit_compile_insn` | Alan Wu | |
| 2021-10-20 | MicroJIT: generate less code for CFUNCs | Alan Wu | |
| 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. | |||
| 2021-10-20 | Don't create a stack frame for Hash#key? | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix GCC warning | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added stack overflow check to MicroJIT CFUNC calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added RUBY_VM_CHECK_INTS to CFUNC calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fix compiler warnings | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Implemented mechanism for rel32 call | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fixed two CFUNC call bugs thanks to Alan & Aaron! | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: Read pointer to call cache from call data | Alan Wu | |
| The call cache changes when the call site becomes polymophic and can result in the generated code falsely assuming cd->cc->cme is not NULL. Here is a crasher: def body(thing) thing.strip end str = "" 10.times { body(str) } body(0) rescue p 'not found' body(str) | |||
| 2021-10-20 | Fix MicroJIT argument copying for CFUNC calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Fixed two issues with MicroJIT CFUNC calls | Maxime Chevalier-Boisvert | |
| 2021-10-20 | First pass at CFUNC calls complete. Not yet functional. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Refactor ujit, define named register constants, code cleanup | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: switch to example that passes ec as second argument | Alan Wu | |
| opt_send_without_block needs it. Ideally we would use this example only when an instruction in the compiled sequence needs `ec`. We can worry about that later. | |||
| 2021-10-20 | MicroJIT: Use R9 in generated code for Ruby stack pointer | Alan Wu | |
| 2021-10-20 | Commit before merge. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Updated C function call sketch | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Remove comment. Commit before rebase. | Maxime Chevalier-Boisvert | |
| 2021-10-20 | MicroJIT: Don't compile trace instructions | Alan Wu | |
| 2021-10-20 | Fixed is-object check in opt_send_without_block | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Check receiver type and klass in MicroJIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Take the VM lock when recompiling | Alan Wu | |
| 2021-10-20 | MicroJIT: compile after ten calls | Alan Wu | |
| 2021-10-20 | Commit before merge | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Started refactoring opt_send_without_block with codegen-time checks | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Add system to implement codegen preconditions in JIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added print_ptr() util function for debugging | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Bump executable memory allocation size | Alan Wu | |
| We run out it on CI in test-all. | |||
| 2021-10-20 | Try to fix Windows build | Alan Wu | |
| 2021-10-20 | Fix MicroJIT's putobject against GC copmaction | Alan Wu | |
| 2021-10-20 | Try to fix Windows build | Alan Wu | |
| 2021-10-20 | Compile with MicroJIT disabled when scrape fails | Alan Wu | |
| This is just so we can build successfully on -O0 and other cases that are not supported by the code scraper. | |||
| 2021-10-20 | Implemented opt_minus in MicroJIT | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Added member_opnd() convenience macro | Maxime Chevalier-Boisvert | |
| 2021-10-20 | Partially implement opt_send_without_block | Aaron Patterson | |
| It will read and check the inline cache now, but we need to actually call the method. Co-Authored-By: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | |||
