summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-20MicroJIT: Read pointer to call cache from call dataAlan 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-20Fix MicroJIT argument copying for CFUNC callsMaxime Chevalier-Boisvert
2021-10-20Fixed two issues with MicroJIT CFUNC callsMaxime Chevalier-Boisvert
2021-10-20First pass at CFUNC calls complete. Not yet functional.Maxime Chevalier-Boisvert
2021-10-20Refactor ujit, define named register constants, code cleanupMaxime Chevalier-Boisvert
2021-10-20MicroJIT: switch to example that passes ec as second argumentAlan 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-20MicroJIT: Use R9 in generated code for Ruby stack pointerAlan Wu
2021-10-20Add to the MicroJIT scraper an example that passes ecAlan Wu
2021-10-20Commit before merge.Maxime Chevalier-Boisvert
2021-10-20Updated C function call sketchMaxime Chevalier-Boisvert
2021-10-20Remove comment. Commit before rebase.Maxime Chevalier-Boisvert
2021-10-20Fix MicroJIT logic in MJIT execAlan Wu
2021-10-20Never compile with MicroJIT when MJIT is enabledAlan Wu
There is a crash in there that we don't want to worry about for now.
2021-10-20Declare extern with RUBY_EXTERN for MJITAlan Wu
2021-10-20Update dependenciesAlan Wu
2021-10-20MicroJIT: Don't compile trace instructionsAlan Wu
2021-10-20Don't call MicroJIT from MJIT outputAlan Wu
2021-10-20Export MicroJIT global used in MJITAlan Wu
2021-10-20Fixed is-object check in opt_send_without_blockMaxime Chevalier-Boisvert
2021-10-20Check receiver type and klass in MicroJITMaxime Chevalier-Boisvert
2021-10-20Take the VM lock when recompilingAlan Wu
2021-10-20MicroJIT: compile after ten callsAlan Wu
2021-10-20Commit before mergeMaxime Chevalier-Boisvert
2021-10-20Started refactoring opt_send_without_block with codegen-time checksMaxime Chevalier-Boisvert
2021-10-20Add system to implement codegen preconditions in JITMaxime Chevalier-Boisvert
2021-10-20Added print_ptr() util function for debuggingMaxime Chevalier-Boisvert
2021-10-20Added int3() to x86 asmMaxime Chevalier-Boisvert
2021-10-20Anonymous union is a C11 feature unavailable to usAlan Wu
2021-10-20oops Direct threading should be defaultAlan Wu
2021-10-20Explicitly convert function pointer to void pointerAlan Wu
2021-10-20Fix compilation for OPT_THREADED_CODE=2Alan Wu
2021-10-20Explicitly convert function pointer to void pointerAlan Wu
2021-10-20_GNU_SOURCE has to be before includesAlan Wu
2021-10-20Bump executable memory allocation sizeAlan Wu
We run out it on CI in test-all.
2021-10-20Get access to MAP_ANONYMOUS in pedantic compile modeAlan Wu
2021-10-20Don't put MicroJIT status in RUBY_DESCRIPTIONAlan Wu
That messes with tests too much.
2021-10-20Zero sized array are not standard CAlan Wu
2021-10-20Try to fix Windows buildAlan Wu
2021-10-20Fix MicroJIT's putobject against GC copmactionAlan Wu
2021-10-20Respect redefinition in MicroJIT's opt_minusAlan Wu
2021-10-20Update dependencyAlan Wu
2021-10-20Small build fixesAlan Wu
2021-10-20Try to fix Windows buildAlan Wu
2021-10-20Compile with MicroJIT disabled when scrape failsAlan Wu
This is just so we can build successfully on -O0 and other cases that are not supported by the code scraper.
2021-10-20Show whether MicroJIT is enabled in the version stringAlan Wu
2021-10-20Removed inc/dec instructions because usage not recommended.Maxime Chevalier-Boisvert
2021-10-20Run ruby tool/update-deps --fixAlan Wu
2021-10-20Move registers into header and make them staticAlan Wu
We were leaking these as global symbols and were having linking errors with Clang 12.
2021-10-20Implemented opt_minus in MicroJITMaxime Chevalier-Boisvert
2021-10-20Comment out jnl to fix Linux build againAlan Wu