0a5dcc056e22bab849d8d7877928d300201af823
|
2020-09-04 |
Progress on porting x86 assembler for MicroJIT |
5cf7ccd24a9303b2a591bc0289159517cee6e851
|
2020-09-04 |
Started porting instruction encoding |
8f40a62647cd7b961faac6b810053b87502d3994
|
2020-09-08 |
Progress on x86 assembler. Encode a few simple instructions. |
a3b411b9c82010d480ce3bf203dcc8b8600722ce
|
2020-09-09 |
add and mov instruction encoding ported and tested |
1392a6f2a499f7400320b87d0bf53d3ef0e26d93
|
2020-09-09 |
Added jmp R/M instruction |
efcaa49a7be1ea016a57bed5080c02df3f88f884
|
2020-09-10 |
Added sub instruction, 32-bit registers, more tests |
251531bdf06b03a6531ca6863d19c693fc62631a
|
2020-09-10 |
Reimplement Alan's pop instruction with the new assembler |
fe1cd076da74be8077509fab5a401060ce1c17a4
|
2020-09-10 |
Added test for lea |
566d4abee5e8e59ce6e080f28a25b7c3431c5b3b
|
2020-09-10 |
Added shift instructions |
1c8fb90f6bde0c630f5dc532dfe198218bc9f910
|
2020-09-10 |
Add new files, ujit_compile.c, ujit_compile.h |
6a12fb2067e1d0a9ce610b0affd6a3113d13ff1c
|
2020-09-11 |
Ported label linking and conditional jumps |
26fecc723699a56e27fefb6fef2b3a13d8a95e51
|
2020-09-11 |
Removed native_pop_code, ported call with label |
7d0df31d7ab834526a0b5450128602c04fddb2b0
|
2020-09-11 |
Ported inc/dec instructions |
1879a123caeb9caced2eeb2bb7a7a91a4a8e1930
|
2020-09-14 |
Added cmp, not. Generate code for nop instruction. |
ca47899ccf9547223f4c64fc4b0837796bee09af
|
2020-09-14 |
Small refactorings in ujit_compile.c |
3739588811a621ccfd00aa7f8ad804cd1c60f92d
|
2020-09-14 |
Remove PC argument from ujit instructions |
090255456aa137f28cc254c609ff95fb7fd3d71b
|
2020-09-14 |
Ported neg, and, or instructions |
2e319492254e529a2f5673038ec6c3ea44087199
|
2020-09-15 |
Ported xor and cmovcc instructions |
2811792f91d9651a40d1e41de8c85a9b347e6377
|
2020-09-15 |
Compiling getlocal_WC_0 |
b0b7d0a87e3d9f6dce2eded0f45c95b125f569c3
|
2020-09-15 |
Refactor MicroJIT codegen to use hash table of codegen functions |
16ddb422eb83cc8223a8e93297aef4d6ab273238
|
2020-09-16 |
Complete refactoring to codegen functions |
7eb192d644996cb2c79663d34e3364adb7dface5
|
2020-09-16 |
Testing lea instruction properly |
8a5ced8eb5ed96ba3d806b2a30790c87c453a9a0
|
2020-09-16 |
Chain compilation of adjacent instructions |
132f7e11fd6715a9e2e09b06441de8d399728049
|
2020-09-16 |
Compile putnil |
038f5d964ffdfcce7c1acbeb4c6ae4ad01a09014
|
2020-09-17 |
Avoid recompiling overlapping instruction sequences in ujit |
77cfdb24d4d7445a6e8f4a110d4e2159360f3c2b
|
2020-09-17 |
Implemented delayed stack pointer adjustment optimization |
b8a3f2ed6177c753a35feaa4239a47de0a97ee77
|
2020-09-17 |
Add function to print strings from generated code |
d1c9ca86c191ef92d9bcd1242aeb7eaa35381e6c
|
2020-09-18 |
Port print_int, movsx. Implement putself. |
30c4237b06573d068624739f6f6d5aaf59a675e1
|
2020-09-18 |
Fixed bug with ctx_stack_pop. Implemented dup bytecode. |
c20066b24cf1c1c235d1f9402b7986b5085cad53
|
2020-09-20 |
Added method to align code block write position |
304adba717b30df17b4db3c76993a649c3efec0e
|
2020-09-21 |
Add location hint to code block mmap call |
38601da27dde73c75ec052d2d6ca555da71ee00e
|
2020-09-22 |
Added 8-bit and 16-bit general-purpose registers, more tests. |
4d72b9a2f7890a36f221f256b62250df4baebc1a
|
2020-09-24 |
Start implementing setlocal_wc0 |
e0c5d4ecd9e864fa531ecceb29ed0e195bf08644
|
2020-09-28 |
Implemented side-exits to interpreter. setlocal_WC_0 |
2c866ce8f0ff45e8d6d2941df174a2effe12a2dc
|
2020-09-28 |
Check if outlined code block has enough space too |
e99e3daace542cbfd045ae76c435a4f6e163f1d5
|
2020-09-30 |
Added jmp_ptr() to ujit_asm.h |
851ea463512529390133e656540bb3e287ca6fdd
|
2020-09-30 |
Added member_opnd() convenience macro |
e3cd43e2bc44fdd358f8ea1c373125ce4320f972
|
2020-10-02 |
Implemented opt_minus in MicroJIT |
12283c58dab63eb9f8e916a8647758260a3e699b
|
2020-10-04 |
Removed inc/dec instructions because usage not recommended. |
e5751768baeb7c1e0a48c466c98014667058d2c3
|
2020-10-14 |
Added int3() to x86 asm |
6f81bd2c76c9eec7a95db92f552405cc68367e4d
|
2020-10-14 |
Added print_ptr() util function for debugging |
32a66b99f657f872924ae16d64316af4a3533ef0
|
2020-10-15 |
Add system to implement codegen preconditions in JIT |
2cb376a53f2f165415f36fba4b2230bcbd1e3848
|
2020-10-15 |
Started refactoring opt_send_without_block with codegen-time checks |
ef9eb83cbecb3d7add699c41f713a42c296fe65a
|
2020-10-16 |
Commit before merge |
7c9fdb5dc9cb1431f16e67d206971db3e27f9e82
|
2020-10-16 |
Check receiver type and klass in MicroJIT |
e677ca4af08070a73a30816dfe6e80c776f91d25
|
2020-10-16 |
Fixed is-object check in opt_send_without_block |
770f3929b31da37c06e015b292c3b7ec3dfc969c
|
2020-10-19 |
Remove comment. Commit before rebase. |
a88d6207dd87b53f54debb1a3cf044da60b82fb3
|
2020-10-19 |
Updated C function call sketch |
008551decb7481c8d8a7c870a43e0ea450041aa5
|
2020-10-20 |
Commit before merge. |
ff73762bda4f2c5c7aa2a04b39282c3755d69841
|
2020-10-20 |
Refactor ujit, define named register constants, code cleanup |
35c0768473d18a83c50cf7f175d301a614987527
|
2020-10-20 |
First pass at CFUNC calls complete. Not yet functional. |
37e4350e80c0b9dfeee7e7ea461bcb65fe385bdd
|
2020-10-20 |
Fixed two issues with MicroJIT CFUNC calls |
d49edada2eeb0e2fa25c2f36c06e9836e9288f56
|
2020-10-21 |
Fix MicroJIT argument copying for CFUNC calls |
809ecfb1266fac21019f0264f060f408c2946fdd
|
2020-10-22 |
Fixed two CFUNC call bugs thanks to Alan & Aaron! |
b761f5c96ff1635aeeb26bb7ba6cb2b30adcddaf
|
2020-10-23 |
Implemented mechanism for rel32 call |
5b6a963b710db6bacb64d17c32666f3db935b0ac
|
2020-10-23 |
Fix compiler warnings |
8b8470d098607548ff33792b831a2290c12248ed
|
2020-10-27 |
Added RUBY_VM_CHECK_INTS to CFUNC calls |
81e7091862d76ef660363f3463820b5ecd214c87
|
2020-10-27 |
Added stack overflow check to MicroJIT CFUNC calls |
5413d0918b89ee46f8500ba2731ff3a7a22c6276
|
2020-10-27 |
Fix GCC warning |
0c52371c47d8b65f91ed5d2a7e2c14c96d286f57
|
2020-10-27 |
Don't create a stack frame for Hash#key? |
ba92d40d9bc48ab57bec7afbf7e900c1f211b4b6
|
2020-11-02 |
Fix warning |
6a9a516dc5c253c5609386ae70e2ac5c53423e2a
|
2020-11-05 |
Print to stderr in ujit_utils.c |
64072dd3a6a321b674255f44632f2c34ac196507
|
2020-11-09 |
Rename variables for clarity |
1cd4c8b294acd2b4d34c2c830ee2b541a87a0e6f
|
2020-11-09 |
Deoptimize on side-exit |
e17053c72090dd8d732742386303f9964b6326ce
|
2020-11-10 |
Basic implementation of getivar for MicroJIT |
e2e70f69f3af939b0ba687424b6a30043de2ea9e
|
2020-11-12 |
Add comment wrt getivar and allocators |
4d964e25823fdbaae28cea7b0416902f7afd7cdc
|
2020-11-17 |
Implemented setinstancevariable |
ec42378196db02936cd521305dc5940f598370d0
|
2020-11-20 |
Rename function and variable |
7be67a6c080dd7d0d571c50d01bb0195e0d3262d
|
2020-11-20 |
Implemented opt_plus in MicroJIT |
e4c65ec49c5e2cba537f2d9ee00888c5dfbcac34
|
2020-12-08 |
Refactor uJIT code into more files for readability |
f761e9ee641cb4bf9250fa97d119a444d239e7b7
|
2020-12-08 |
Move code into ujit_iface.c |
f7717b1d463548414e607498e84815ac641ce3dc
|
2020-12-10 |
Start refactoring JIT engine |
20f5b7426e839c90819f223c1a30992fd8d4023c
|
2020-12-10 |
Start implementing BBV primitives |
8ae354e9bedbe5995e97206b170f3e406fc5b617
|
2020-12-11 |
Implemented opt_lt. Prelude to branch instructions. |
868a6809e7d15b95f14bff822268e2962747fb06
|
2020-12-14 |
Add sign-extended mode for test() instruction |
bd7cc9ed98056d01dbdd592156e07ae6c6eff516
|
2020-12-14 |
Thread insn_idx through context object |
40b70ef7c762701d26539e5a401449d7f3733b5a
|
2020-12-16 |
WIP branch generation code |
7d7e58d3521c797d772fdb5f974061c8a3758594
|
2020-12-17 |
Implement branch stub logic |
e9344ae4089503341b8546beb4f53e654b3e3f4f
|
2020-12-17 |
Stub logic working for fib test, but still crashing in other cases |
4592ef9d76c5ef1bf7f99119a126a1b700c88f1f
|
2020-12-17 |
Fixed one bug in compile_block. |
5e39d83fbd560a5151facba10e95889aff84c93e
|
2020-12-18 |
Split out compile_entry() from compile_block() |
df16bf97ece9c3f943750954c19d1caace089215
|
2020-12-18 |
Split out context object into jitstate_t and ctx_t |
542f2ba09e1904fb7f43af34bc1527073daae964
|
2020-12-18 |
Use a versioning context when compiling blocks |
97cffcf79a5586765d0046d3dc0d004a101f73ad
|
2021-01-07 |
Fix sneaky ujit side-exit bug. Reduce ujit call threshold to 1. |
1744c15578cf1955dfdaf5bc02db13a05a8d6970
|
2021-01-07 |
Avoid generating redundant interpreter exit code after branches |
2cc0db12fee25b23d689a9a9936db470d0fa0433
|
2021-01-08 |
Refactorings in ujit. Implement Ruby jump instruction. |
7e60ce357b7061ea6e638cab2ff656df031f7d90
|
2021-01-11 |
Fix uint cast bug caught by Alan |
a251059070a4d42ac1a70fb3ce747cd791bfbe92
|
2021-01-12 |
Fix hash map key issue |
3a74011ff8e5b9b4bf07ef72d249d08b8c13c57e
|
2021-01-12 |
Introduce version_t struct. Will be needed for code invalidation. |
ef08af93769982047e59356d76c7e72a67970335
|
2021-01-12 |
Progress on code invalidation |
2cf32e5505d8da85f31df3a0bff7b0fd38054503
|
2021-01-13 |
Refactor ujit logic for generating iseq entry points |
92e9b2458665617d6d05b968a4f8bd08afdb65a4
|
2021-01-13 |
Keep track of incoming branches in ujit |
4a5710769609c35a32a071cc4cd3bcebdc3ec908
|
2021-01-14 |
Sketch code to invalidate basic blocks. Rename version_t to block_t. |
59eb98fbaa4762a935ef57a6777042068b186278
|
2021-01-14 |
Fix ujit cc/cme invalidation code for opt_send_without_block |
79331368b94b297a0653152cb568a9b998af7fee
|
2021-01-15 |
Added block end index |
02a97004751eae471e00b2b6c3ce86c9dd6ae259
|
2021-01-15 |
End current block after opt_send_without_block |
187435c11757748af37c59ced54d4ee04f442ffe
|
2021-01-18 |
Complete refactoring to eliminate recursion in ujit's compilation |
37ad374607ae69637bc87bedd809466a6a71d4f4
|
2021-01-19 |
Added gen_direct_jump() for unary branches |
136bf983beaf46bebd13026890eda8dafff279ce
|
2021-01-19 |
Fix bug with ujit code invalidation |
dde69ab5c63a01c20c9bc19b7a11d9c64f6dab2a
|
2021-01-19 |
Fix ujit block hash table bug |
cf4021ca780d460dc351b30260532c158a5c8a5e
|
2021-01-20 |
Take VM lock in branch_stub_hit(), fix ractor deadlock. |
0a6e824ad2cc22315b32d1a11dc094c528b32acb
|
2021-01-20 |
Prototype type-specialization for temp values |
0a42428098e4dd4c348dd09a8566d643efb59e1c
|
2021-01-21 |
Implement branchif in ujit |
d528cf4fd5551c323484c2ffb79b56af0c6f50c4
|
2021-01-22 |
Added comments. Fixed compiler warning. |
dea4db16c03b3befc14a0de9b51489d9382258a3
|
2021-01-22 |
Add support for multiple versions per block |
738160db0a7fb32d609133fb68fbdff02ff315f2
|
2021-01-22 |
Write ctx_diff() function to compate ctx_t objects |
8a61e848c09779312dab159e8a625872de034272
|
2021-01-22 |
Minor changes to disasm output. Fix GCC warning. |
79d6e9618d8215f936a3c938d192753906412c02
|
2021-01-22 |
Make find_block_version() do list search |
9def269b470f74d8ea4bb7919f927d16efb35cfa
|
2021-01-24 |
Fix issue with block address accessor. Print absolute addresses. |
4f47181be689e9cfc2cbce332aa4d538afd35da1
|
2021-01-25 |
Keep track of multiple versions per blockid |
b0b1bc1684a845ae07df474f6a7e86ada501dadf
|
2021-01-25 |
Tweak ujit disasm output |
63e85de33a6b3cf4dbb2f7873c968576e201f0b6
|
2021-01-25 |
Fix bug, block added with wrong blockid. |
e7909467df181641b1753512cba3f49c0f0f6583
|
2021-01-25 |
Eliminate type checks in opt_lt |
c61238a2761ca8d9bbe56dc3b06aa07da5784c96
|
2021-01-25 |
Optimize putobject codegen |
36232a48a63923e6d3bd3ccad30a12a02b20e89b
|
2021-01-25 |
Set T_FIXNUM type tags in opt_plus, opt_minus |
a14015e9b5594bde3ee802eb8c39d08d5b8e8249
|
2021-01-26 |
Report unknown --ujit-* options |
81c57ab9b8a55c3572facd1fa62c4b5c38a160e0
|
2021-01-26 |
Reduce size of ctx_t |
09479c33f54423910674780d1fcb7834e98ef561
|
2021-01-27 |
Implement block version limit |
2e561ff255ea69e50f2d53240332cfd96463ef06
|
2021-01-28 |
Restore interpreter regs in ujit hook. Implement leave bytecode. |
a6d0c61c3c4a9bb117e5c1bf4da02662f58a50a2
|
2021-01-29 |
Add percentages to exit op counts in --ujit-stats |
05c72d40b7ee907f62701948e1249891a1d008b0
|
2021-01-29 |
Alan & Max at Tanagra |
53bd13edf3b41b965297d4ed425a96b9b57dd053
|
2021-02-01 |
Implement opt_and in ujit |
27a44436433a0072f62aaae6e8d6f12a1f0a1bf8
|
2021-02-01 |
Add total exit count to stats |
6a29131439b88f696b54d4d732f5bffae9a56aac
|
2021-02-01 |
Implement Ruby-to-Ruby calls in ujit (opt_send_without_block) |
020f745041d8555ccd287553a098402c04f9e248
|
2021-02-02 |
Fix overflow check in ujit |
439e1089b72ebb11314b3f548c8bb5bdf02a91a1
|
2021-02-03 |
Implement opt_le, opt_ge in ujit |
e85e0e2fa98d7835163e3470ca322b11a0f67c67
|
2021-02-03 |
Commit WIP setlocal_WC_1 implementation |
d2d564be1db247f21e15c847584b0ec2cae4428d
|
2021-02-03 |
Moved ujit code invalidation test into bootstraptest |
0f53c216d2e46049d30eb82b66c9ab4c946911ed
|
2021-02-04 |
Pop stack operands in opt_aref |
8357e8e5142b97c452929aade0c24f59c7a34833
|
2021-02-05 |
Fixed two bugs in JIT-to-JIT calls (thanks Alan!) |
d2ad0a1175a83392710a4248dc541492ba151e61
|
2021-02-05 |
Added synthetic torture test with 30K tiny methods |
21c4dd037d3f9c20dda281883b8d43fc2226d550
|
2021-02-05 |
Fix bug unnecessarily causing version limit hit |
6341fc21b2e15dca82253da41047ce37409508fc
|
2021-02-08 |
Don't increment instr/exit counters if stats not requested |
9d8cc01b758f9385bd4c806f3daff9719e07faa0
|
2021-02-09 |
WIP JIT-to-JIT returns |
a8827e5c5fb1e3218e7f0d5ac792482c0d65f8f3
|
2021-02-09 |
Added failing test to `make btest` |
f9e16b0e078b6b6c876c4dbfea868bb0199d5382
|
2021-02-10 |
Fix context push/pop in Ruby-to-Ruby calls |
c1c5fd5a8dbfce64067961a4051646ed62a50f89
|
2021-02-10 |
Fix REG_SP writeback bug in gen_exit |
75b623776b920b0711c0c458997467d19a32ef8e
|
2021-02-10 |
Fix jit_return bug, return address on wrong frame |
a267f45502358114fa37b0390f894eb480624b67
|
2021-02-11 |
Remove superfluous instruction in opt_send_without_block |
3d026adb613f2e27a5c84f3db8f5ddc6896ba5a3
|
2021-02-11 |
Add failing test identified by Aaron Patterson |
2eac297f9f9edc3ec61d087924b30ce40c84b772
|
2021-02-11 |
Optimize gen_dup |
05d36f31ca919a2cc1c2db210dd70639457dca35
|
2021-02-11 |
Fix bug in putobject found by @tenderlove |
faafe716af5ea2d31eb175885032a6fe46b92834
|
2021-02-11 |
Add jit_print_loc() for debugging, based on Alan Wu's snippet |
a7c1bc61d2becac74743d8ab6efd6d5649b92311
|
2021-02-11 |
Add missing VM_CHECK_INTS() for correctness |
e7d20e6616546c9b26ce3c8eb9663e6805d0d0bf
|
2021-02-11 |
Free block->incoming in invalidate_block_version() |
8ed77f96fc7df4ff0a1a91507cd7bf11e1f6788e
|
2021-02-12 |
Add another torture test to `make btest` |
d192b149ba5b6f0bb8222519793a59b60c637f78
|
2021-02-12 |
Added more tests to `make btest` |
48736599ace66fe6bd205e3df2979563f04e0a30
|
2021-02-16 |
Fix compiled iseq count stat |
ddd1a5ce790717d8606d3aba17cd1aaae266819f
|
2021-02-16 |
Add op-not-redefined check to opt_aref |
1279236ff8880c5aea428751446493b8e4f0e711
|
2021-02-18 |
Fix opt_aref SNAFU |
701a802a4278ea7393d7a63b465e610eb6b47d3f
|
2021-02-18 |
Create ujit.md |
2babfeb858894cbcb28ce763dcad12ffab67a222
|
2021-02-19 |
Update ujit.md |
7fbbd0c67cfbae1a690a176395768d5eeaebc362
|
2021-02-19 |
Update ujit.md |
9d62ab303c118eb4f21f8147fac33e187902e339
|
2021-02-19 |
Update ujit.md |
1a937dd1964cf8f1f02093d5d2a53f00792668f3
|
2021-02-19 |
Use darray for incoming branches |
fff6d642b3fb0ef551dd67dafe896a0b18670144
|
2021-02-22 |
Added ujit_save_regs() and ujit_load_regs() helper functions |
0710bec01e405af596fa3e8e29ba38bb8176e39d
|
2021-02-23 |
Implement --ujit-call-threshold |
2a99743056aaecbb77cd1b17bf9f7e9e7460ab8b
|
2021-02-23 |
Update ujit_iface.c |
0d6ed3128a748705c6e2ed933125aaba8b062851
|
2021-02-23 |
Update ujit_iface.c |
6100b52ecfdcb63de51bf52657259c2ab81ee440
|
2021-02-24 |
Update ujit.md |
47900e10e3a7e9f7fd25248c30ad9897d1071641
|
2021-02-25 |
Update ujit.md |
028e017e955692bb508ea3b2661906429df3422c
|
2021-02-25 |
Update ujit.md |
8e5222c887e05685f34b819e913de5ab5d7a0c39
|
2021-02-25 |
Update ujit.md |
f93f3d6aa164ea5bc01e596c84b7c525c41bb852
|
2021-02-25 |
Implement support for variadic C functions |
799d248e314d98b28837b921c9e0fc97ae93b574
|
2021-02-25 |
Fix jmp encoding. Rename conditional jumps jxx() to jxx_label() |
0888d9c9d52c7021ac39f712b0111fe43dce81b0
|
2021-02-26 |
Update ujit.md |
6f437d5b30355070f15921a421c5c4ea7a3147d8
|
2021-02-26 |
Update ujit.md |
831ac473faae9cfb184752e5db2bc9b309a78eeb
|
2021-02-26 |
Update ujit.md |
824fea684f8346386db0391fb8575ced07ae01d6
|
2021-03-02 |
Thread EC through jit state. Add codegen status enum. |
2e8db8c35e5bb00a2a27657e2d091edf9e27cacd
|
2021-03-02 |
Update ec->cfp->pc when hitting a stub. |
b3b3a8c62020caca849e4b3a1325eb53811e6f7a
|
2021-03-03 |
At jit_at_current_insn, jit_peek_at_stack functions |
5c497dfd7f86c88c9730dda397fecb3aa943e84d
|
2021-03-04 |
Update ujit.md |
abc016ad2c85a15ad6a512be57f47d893bc81e27
|
2021-03-04 |
WIP refactor block lists to use darray |
f2b170b01d36f3cab2671cc575e75c916bc95bfa
|
2021-03-04 |
Update and rename ujit.md to yjit.md |
7b38bf189ef208039df84324e6df72479a0af878
|
2021-03-04 |
Update yjit.md |
e4e453c7d0bd93e3d76879285a29f0bbb7edfab4
|
2021-03-04 |
Update yjit.md |
4a99990b36e29f24f2e0cb12531fa4de65cce071
|
2021-03-04 |
Update yjit.md |
d6d58795a90d338ac8fb308c8a79044172778485
|
2021-03-04 |
Rename test files |
7f4000b1f430c22fd35c50201271d0abd4fff358
|
2021-03-05 |
Machinery to implement deferred compilation |
0a160407dad305d18a28bb34f72fec8dcd6bfc6b
|
2021-03-05 |
Update ujit_core.h |
eaab6605b75a2510f5cf0ae781817de3b7d6e39f
|
2021-03-05 |
Update ujit_core.h |
c56243dab4a2e07d3ba4942fdd8ec72a3b56218a
|
2021-03-08 |
Update yjit.md |
46874b8fb979d0bf46d5d3b6e1523293201441e8
|
2021-03-08 |
Update yjit.md |
4ccfbfe6fa9676f4c177fdbd217cecc361c9aa0f
|
2021-03-09 |
Update yjit.md |
c6156e511338450db2f39abc45e1ee1b5508bd6b
|
2021-03-10 |
Fix trailing spaces |
fe3bd570072b35e47e03ea23e2bc42a4d8a7681d
|
2021-03-11 |
Remove trailing whitespaces |
439db7b81b588a1ee12475568cab7b8dab4e2cd3
|
2021-03-12 |
Add metric for average # of insns spent in yjit before exiting |
98e93d6a8fbf1070e1b334dd1b1cf313c221bb17
|
2021-03-26 |
Update yjit.md |
0e5c3d66b8e6c3d1d828ce76a4c2caab3d1b71c1
|
2021-03-29 |
Implement opt_gt |
fe784d1449ac6a9c2280ce1b29b19fa86d108fe9
|
2021-03-29 |
Track interpreter return as an exit reason for leave instr |
5ec94e0d4ad49cd249312c29cbbe9369637b9b48
|
2021-03-30 |
Fix issue with version matching logic |
cb46a17ca16935c61bdc82e44cad0c6450e8a4ad
|
2021-04-01 |
Log code size in bytes instead of MiB |
ac1aa84c1a866ee58c1f75874ceb226b297d676d
|
2021-03-30 |
First sketch at temp type mapping |
c5f31264287a1c587448e9a437603da1b8497e67
|
2021-03-30 |
Commit WIP |
e47dd8bb88a10eb20afb8dc37f19ae6ee8e56f4b
|
2021-03-30 |
WIP |
aee44e4f2bcd795b5a81c72cb75d742103bb070b
|
2021-03-31 |
Part 1 of improved type tracking logic |
215a2f401068fe0afc18a22377082d0d3d8644fd
|
2021-04-01 |
Fix type_diff logic after Alan pointed out errors |
c299112fd7eb4432f3fdc83a9f5716e8e79249f4
|
2021-04-01 |
use ctx_stack_push_self() |
e56bd95ca05fa8ff07455e62143b260bcda74926
|
2021-04-05 |
Rename first call => threshold one |
2b522ad9f5a5a3baa1fc16b1b45d5d28773d5f67
|
2021-04-06 |
Update yjit_core.c |
5b613938eb63d3dd82feb32b4eefbe345beaf199
|
2021-04-06 |
Fix branch rewrite issue |
131fc9c074d464c6baa548ab89a1d1d1dcc5c571
|
2021-04-06 |
Readd const arguments |
3d53ee17616d9c028d2b537989c4cd2e1d08261b
|
2021-04-06 |
Fill uninitialized memory with int3 |
d1e9e4566f93e219314f361b88b4a0e003a25241
|
2021-04-06 |
Update yjit_asm.c |
0881e018b567362ba6405eeb788d76d770653978
|
2021-04-06 |
Add comments and asserts for clarity |
e98d2c5ec818abe9a274055c2308bf3488358529
|
2021-04-06 |
Add ctcx_stack_push_local() |
cbbae12a96e1857c414b4592376886fc8bb5da1a
|
2021-04-06 |
Keep track of local types in the context |
54312d777cc22a52cfafcce0a0a20ed48375b82e
|
2021-04-06 |
Disable local type tracking for now |
42af04efee38de4435a04ea0487fce483db10dee
|
2021-04-07 |
Add flag bits to avoid compiling stubs multiple times. |
543bdde6c21f071e673aa8090086e1045ee4f2d9
|
2021-04-07 |
Update yjit_iface.c |
04243533fc3f9b1ac71160dbe235da9995a994ea
|
2021-04-08 |
Update yjit.md |
7108da16e9ec39d682572c47ac3e99035c0683f0
|
2021-04-08 |
Fix two stats bugs, refactor stats code, add total_insn_count print |
032b2ecf4b026d2945659d8de325ad3ef6ad4734
|
2021-04-08 |
Compute percentage of exits for top-10 exit ops |
f6e3f75c2b7503eb89f517c57ac4ea97dc2752b4
|
2021-04-08 |
Introduce concept of YJIT instruction operands |
7ee3636f61631429fe39d2d213efe1b711babbab
|
2021-04-09 |
Remove unnamed enums because MSVC sux |
2404ff691d81183dc7d1bdc844fd7d556edf6837
|
2021-04-09 |
Factor our guard_two_fixnums(). Implement opt_or. |
0805cba73572a5150975a0dfdc4461ae0872e90c
|
2021-04-09 |
Update yjit_codegen.c |
6164274c76d31bc447a92c59c8d277670a93f229
|
2021-04-09 |
Re-enable local type tracking, until first call |
53ff2d791d5e2c303a61d5873bcd03007366be88
|
2021-04-09 |
Fix bug in ctx_set_local_type() |
dac830553ef486a97beb57d1531ccc9a0a4bdd9b
|
2021-04-13 |
Diff the local types in ctx_diff() |
646c7b3ff69af10d5155263d80b0ed21852a1dab
|
2021-04-13 |
Temporarily increase MAX_BRANCHES until we have a better solution |
791f20af6e9a5db37e69ed33c6b91fc15d9fe824
|
2021-04-15 |
WIP |
edaf12def626a2b06fc2cf9bf53db9b0f45b88ac
|
2021-04-15 |
Fix local type tracking in getlocal, setlocal. Add test. |
6250506de2f11bc45d1d7a0cfb2a4d15390c16ca
|
2021-04-15 |
Remove debug prints |
f2530f884eff1910fb69201cb0a009332fa1b150
|
2021-04-15 |
Improve codegen and type tracking in putobject |
23f88957e691cbc11375627bbc26a35cd3a3465c
|
2021-04-19 |
Switch to 2-comparison heap object check |
33c975b813a2be9fb02e526b7a63096dff385614
|
2021-04-19 |
Merge pull request #114 from Shopify/yjit-dup-comments |
0cc73ca2a9a2aa5276cd022be9891475a15ecee3
|
2021-04-19 |
Malloc branch entries (#112) |
51e46eac5f225227460bd203104886d77828cd34
|
2021-04-20 |
Rename Ruby README to README_ruby.md |
10217d147c17bcf3c092ff192911fdb254cef236
|
2021-04-20 |
Rename YJIT readme to README.md |
852ffe2627076fcac0b8d50731637c59ba8e259a
|
2021-04-20 |
Create codeql-analysis-2.yml |
ef5cfcae0dd8de244333b52ff3cc80afb8ddbcb4
|
2021-04-20 |
Delete codeql-analysis-2.yml |
60496b6666765ab8cb63816ca1d525fcfbcf7abc
|
2021-04-20 |
Pass self type through method calls |
035b5ac3bb3e1e9414aee3c285414c739c9c54d2
|
2021-04-21 |
Remove token_paste.h dep from common.mk |
38e67ccd157497e228b22cd4cd1f9416b61cf0b4
|
2021-04-21 |
Add setivar exit reasons to --yjit-stats |
adbd7ff332a34e674d7e6281134248b1292fe60f
|
2021-04-21 |
Fix frozen check (use jnz) and move heap object check. |
e66c9f8c621eb710085b45a4274e2a2135de57d5
|
2021-04-22 |
Remove redundant mov |
9bd779cbf96fc6abc6135502d8580a4765d4b28d
|
2021-04-22 |
Don't check if value is immediate if context has type info |
3e80104024b8663ab99d2571f2cf1cdf054a89f6
|
2021-04-22 |
Aesthetic changes and add missing counter |
eaf039af982b19a854ad705cd441144ae648b791
|
2021-04-22 |
Create GitHub workflow to run ASM tests (#8) |
96f4f918b04fad1401d4f41cd11d97d9d4d28c7d
|
2021-04-24 |
Implement greedy versioning. Refactor versioning logic. (#10) |
8bd3e5015b52713753b06879155615e101a1e467
|
2021-04-26 |
Update README.md |
31ab35309b12db2d7d4c0b387dc6fbb531068e70
|
2021-04-26 |
Update common.mk |
34dcd0b3e642778b34c354cee503826f1fc373fc
|
2021-04-27 |
Update README.md |
cf2b508375c0b1d3c67f108861afb454a5110790
|
2021-04-27 |
Try to alloc executable memory within rel32 range on Linux machines (#12) |
cfaf6013036bf1294d4dead83155daeb5a95308e
|
2021-04-27 |
Update README.md |
bce6dea72d0081e4777b80e1de3b76fbfcde9f0a
|
2021-04-27 |
Fix assertions in `invalidate_block_version()`, add small repro (#14) |
62c1297e246966bd3b309d3a3ce3cd0dc78c389d
|
2021-04-28 |
Implement setn bytecode (#15) |
8249f6ef57df76d2789b728f0646a34dbf207c94
|
2021-04-29 |
Print top-20 common exit reasons instead of just top-10 (#19) |
59e5f6b83b3d55fb4a2e4d9669c31d5f31b1fda0
|
2021-04-29 |
Implement dupn for n==2 (only case used in RDoc/railsbench) (#20) |
e5f8b417862cf7a7d03c82067b9870151cd6ce28
|
2021-05-05 |
Implement send with alias method (#23) |
ad601cef8af4bc93a53c8437be4fe8749191f621
|
2021-05-05 |
Update README.md |
4f24f3afc7baed2294614357486e10e1f055c661
|
2021-05-06 |
Update README.md |
6c793a2fed4592d2196d9e43df58fba9274faafb
|
2021-05-06 |
Update README.md |
e22657b88708d594720b40f7d9a350b4bace42ff
|
2021-05-06 |
Implement branchnil bytecode (#26) |
e2c1d69331a037b7c26508d69d6e1ed0f6e70961
|
2021-05-07 |
Implement opt_eq by calling interpreter function (#28) |
c9feb72b650a2e8f2ab0eab164e1ffd52f739396
|
2021-05-07 |
Implement opt_mod as call to interpreter function (#29) |
0c3842d154185d498f468b068c5702ceb5ddb216
|
2021-05-10 |
Implement opt_aset as interpreter handler call |
ce928473d054b3fcbe2b05a1432b770dccd54bef
|
2021-05-10 |
Deletate to opt_send_without_block for opt_ltlt (#33) |
d6412126bcafb4a123aebe4f614e45d5d1064948
|
2021-05-10 |
Implement setivar with a plain old function call (#34) |
3677b233ddc5c0410b71590e709bb9e940e58fa3
|
2021-05-11 |
Implement opt_nil_p and opt_empty_b by delegating to send (#35) |
7ce6d1f0c2683b5d70b2c8055d893fd3052a266a
|
2021-05-11 |
Update README.md |
54fe43b45ce65f0e2cde4d4e950303893a721ebd
|
2021-05-11 |
Implement defined bytecode (#39) |
5c2f74fc32951fc038dca465985a4859c517ef47
|
2021-05-11 |
Fix encoding of test x86 instruction |
6b5d26dc788bfcf1d39db0bfe25645173507299c
|
2021-05-12 |
Implement basic encodings for xchg |
0db85218aa6d398222ffeb25a0b6858c378fd59e
|
2021-05-12 |
Avoid interrupt checks for forward branches (#41) |
da30f21ab5122b55f69fb41290f587aadd4fb8f7
|
2021-05-13 |
Try to fix MJIT symbol clash with cargo cult |
a66dce146a1ea2c38a8f4133f598d4316c39c910
|
2021-05-14 |
Implement opt_not with deferred compilation (#44) |
03da234eb019902176f8d456fceaefee11858a59
|
2021-05-18 |
Add T_OBJECT check to getivar |
1aace65dc045909b6c33491fe3f5218c33117e0a
|
2021-05-18 |
Add comment |
844067f7ee40a406314c6b570df82fc43d519131
|
2021-05-21 |
Update README.md |
b415ceb92e464011a9326c9cb5e15a84c39da330
|
2021-05-26 |
Increase default YJIT call threshold to 10. Add exec mem size arg. (#52) |
d01204a15da9afcd4ddcc48ec022f9bf92db0a70
|
2021-05-27 |
Disable extra T_OBJECT check added because of Nokogiri |
860589c7fa63faa837e0922f581ef8b1af7837d4
|
2021-06-03 |
Use builtin_inline_p to avoid pushing a frame for primitive C methods (#63) |
b1fab663eb21fdab23bd15131a3021e2011a1e6f
|
2021-06-03 |
Update README.md |
7dc497e15874beab7f6b495303a19dd62b65b340
|
2021-06-03 |
Update README.md |
43acb9d7f0d96caec6c517d3e9097b956bc91dd9
|
2021-06-03 |
Update README.md |
9a55fd37c926f7297e2039a0436aae755a06ce78
|
2021-06-03 |
Update README.md |
5432f46f6a7a35a8d2a924eae7b1e29289a58292
|
2021-06-07 |
Can't add comments to the outlined code block |
99341d4a18805db6426c833da0a1d7e1e1f05bd4
|
2021-06-08 |
Fix issue in yjit_free_block causing segfault |
ecd4487a48eb125515ab3e1e739803f7a1895e6a
|
2021-06-09 |
Remove #define MAX_VERSIONS, now using command-line option |
364cdda0f1b63ac0e541ed73a3185a26d309e4da
|
2021-06-11 |
Fix compiler warning |
f54e6e131099b5502f7d9be57f29bab11c70d841
|
2021-06-22 |
Update comment |
7030cae969085f2849bc265047397fadff8b97e3
|
2021-06-23 |
Try running with more YJIT options in CI to surface more bugs |
6cb4edd73ff23809887a72293b670d9c9de2a8fe
|
2021-06-30 |
Implement swap instruction |
4bea8af69f153b78ccac2d7b2bb7248fbd8d1c38
|
2021-07-06 |
Update deps |
51c84f003391a45460d188be155a3e85057234fd
|
2021-07-07 |
Code page allocation code |
350b686a2c6cc8f27466222cf8520a8fda931ea2
|
2021-07-13 |
First pass at code page GC object. |
d5f18f7845f0f0fb3024ada63a552deac9c11ad7
|
2021-07-14 |
Add (void) for no arg functions |
27681f269463b65b566eb857c36a504db9190618
|
2021-07-15 |
It's RUN_OPTS, not RUNOPTS!!! via @tenderlove |
84920fe8eeab41d44dbe3c6b8ca076471694c3be
|
2021-07-15 |
Update yjit.rb |
1943b27fe9f7ad237a1c5119550d2d71958cf4cd
|
2021-07-15 |
Update yjit.rb |
1891dcaa9faee3684d6c8abfc34cab5b01a63632
|
2021-07-20 |
Add flag so we can easily tell if all stats avail. Comment out broken test. |
c4b99d6a427060cadde7f5561c5a3db626bc26ba
|
2021-08-23 |
Add ASM comment |
dd5082d7ca31adc66f885aed1af789adaf262a64
|
2021-08-23 |
Use cmov to handle Qundef case in getivar instead of side-exit |
7f2828d1c86c5508a49260bcecbfc2e78c00e49f
|
2021-08-24 |
Update README |
b3e993a64bb10e20280a7a5c604f9f0fe3939a4b
|
2021-08-25 |
Make sure that there is always an index table entry for getivars |
0562459473f44c270784074a09a33ea30d68e457
|
2021-08-25 |
Redo the ivtable lookp once the ivar is set |
9d5b3e1d0f3d44a52dffb6ec1f09c361c3b419c7
|
2021-08-31 |
Add a small test for the code GC |
013a4a31d65810c9c1b8d34d12a7b766261440a3
|
2021-09-07 |
Prevent stats being enabled late at run-time |
a1d42c37f4d849db71561e2ca60eb279719f6172
|
2021-09-07 |
Update ruby.c |
9bd6ce47454a03ad1cec422f36017bcae56790dd
|
2021-09-08 |
Update README.md |
11599e5e1ebed485089a994753a9c3c79416c037
|
2021-09-09 |
Add rb_darray_clear() for Kevin. Fix some warnings. |
bd8cfb351b8a286af947d0a7c0431026751756cf
|
2021-09-14 |
Fix misplaced ivar_set_method exit counter |
0ee8c606626cd3f92a07a4b1ae7ab546e22031ab
|
2021-09-14 |
Add missing percent sign in printout |
9fff8fdb59fe79e52bf0985db3edc4d8e1ce54fb
|
2021-09-14 |
Update suggested ./configure in README |
0ad9d1fa48e4ced310ae70c53f9cf82ebea586b6
|
2021-09-15 |
Update yjit_codegen.c |
a6cf515e6acdc4c308e8fe8f284fd381b0a0285c
|
2021-09-16 |
Rearrange stats printout for consistency |
e04c3af52253948139c250b25263c992a9b2f23c
|
2021-09-17 |
Update README.md |
6055078b24ce9878aafad406fe72711311f9744f
|
2021-09-17 |
Update README.md |
0385ca2e97ba29653251dba96ab8cf0f21765bb4
|
2021-09-21 |
Try to break the code page refactoring into smaller steps |
c55d4cafc241706d1255d8609d3d7c6f04d0706a
|
2021-09-21 |
Pass the global cb through codegen functions |
f1eb48cb23c949ce8163c6b6d2042cecd0d79ea9
|
2021-09-21 |
Step 2 to remove the global cb/ocb objects. |
0c1aa17556357ca3cb5802d7a23965ed820973e4
|
2021-09-22 |
Remove a few more uses of the global cb/ocb |
79015926eb81ac93700146d42c343f568d3ddfbb
|
2021-09-24 |
Try to get getblockparamproxy to support level > 0 |
70c5bbf84b569d293c0162c084c99d2ca609d9be
|
2021-10-04 |
Fix counter names for getblockparamproxy. Print in --yjit-stats. |
201721b713d2cb8b7f7374c9c5ba037c3b8f540d
|
2021-10-07 |
Update yjit_codegen.c |
35b37c5873d49b7e2ac2d406532635b0871c8dcf
|
2021-10-07 |
Update yjit_codegen.c |
d11ea2520e24fdc7114a6400f00c96d241665bff
|
2021-10-15 |
Update yjit.md |
2e2430564aa32b68f9e2d99e1f1e273bee3defda
|
2021-10-18 |
Update yjit.md |
8684946b211db5edd113e1ae6df1bc77d045b4a8
|
2021-10-20 |
Add bit about YJIT to NEWS.md |
32a8cb965c28455ea8bce8d7d84efab456db773f
|
2021-10-21 |
Add link to YJIT blog post to NEWS.md |
cf52a2c9ba0e2add78f50c32dfadda8e7808d2e9
|
2021-10-25 |
Add code owners for YJIT sources |
722d43ad5e2685c4ca6edf090755eeca1a8cc8ce
|
2021-10-25 |
Test PR |
10fe8495cd9568be79b4c254742eb0f667e84988
|
2021-10-25 |
Update YJIT code owners. Revert accidental commit. |
2e14fb7df752573da98be84a686d8bbd210b13d8
|
2021-10-29 |
Add comments about send method types (#5059) |
2421527d6e4737c371bca0cf7e694f8a2a0f923d
|
2021-11-04 |
YJIT code pages refactoring for code GC (#5073) |
0fecf1b37e2030def285a031f2e5aa374e00cc90
|
2021-11-15 |
Add Aaron Patterson (@tenderlove) to YJIT code owners (#5119) |
cdebf57ec670f35cf07460778e40f6801050ffb5
|
2021-11-18 |
Add --yjit-no-type-prop so we can test YJIT without type propagation (#5135) |
e1536a1e56cd879d296101554ec526a64cb71fd0
|
2022-04-27 |
Update yjit.md |
0eb237d99ccd0e89188446418358b56418ab7835
|
2022-04-28 |
YJIT: replace BLOCKID_NULL with Option<BlockId>, more idiomatic (#5858) |
35e111fd3e38ee6f44cd67b255815ef301ac5211
|
2022-05-02 |
Fix bug identified by @noahgibbs. (#5876) |
cf71e5f62a28eda22d67e3b4bad30fdff766fedc
|
2022-05-03 |
Add a regression test for opt_plus with unknown type (#5878) |
3c61e1e77f9e501dd5ef19d6c661ceba6b84cac8
|
2022-07-06 |
YJIT: add a counter for gc object refs in the machine code (#6089) |
60c900f452327b9b5c82b1e2a8d1d9f88ce8a9b7
|
2022-08-22 |
Add @k0kubun to CODEOWNERS for YJIT |
2ffaa377c212279e4a8bf1da8ac65a00dcdadd53
|
2022-05-11 |
WIP backend IR sketch |
909d214708d87e1dab618a04b4780dd926c721ca
|
2022-05-11 |
Progress on IR sketch |
96e5f9def0121a7ee4f1557b25dade7bdb558df8
|
2022-05-12 |
Add macro to define ops |
92e9d1e66186d41a01f6116d1993fbfd66fdf1a6
|
2022-05-12 |
Switch IR to use Option<Target> |
884cbaabd9c15cdc85809cf713c1be755ea70cf7
|
2022-05-12 |
Change push insn macros |
5021f26b4ba270b2fc36a6fce7b4d54bb65b7062
|
2022-05-12 |
Complete sketch for guard_object_is_heap |
7753b6b8b6a011d048a6b3aaf912d1dad7995b7b
|
2022-05-13 |
Removed String opnd so that we can derive Copy for Opnd |
e9cc17dcc9a365d59330b8c37baeafed5d75a519
|
2022-05-17 |
Start work on platform-specific codegen |
a2aa289594352db98b893aae716cebae0556a20e
|
2022-05-18 |
Function to map from Opnd => X86Opnd |
369911d31de0446dbee805a5e4ddd5691518e6ff
|
2022-05-18 |
Add dbg!() for Assembler. Fix regalloc issue. |
75c995b0d10515568ccfe8f67be1bd3bbcbb4b69
|
2022-05-18 |
Bias register allocator to reuse first operand |
99cfbdca6b7c2dd167137e7256cc861961969ffd
|
2022-05-19 |
Fix bug with asm.comment() |
564f9503603ae261561193f69f1fbdef6a140aa1
|
2022-05-19 |
Make assembler methods public, sketch gen_dup with new backend |
1b2ee62149d5fa8d8cbe2097f9fd7a3af31989c2
|
2022-05-19 |
Implement target-specific insn splitting with Kevin. Add tests. |
151cc55baa8d73969a57228d3a18458e5fe663ed
|
2022-05-19 |
Fix issue with load, gen_dup |
872940e215dd571c45e9c30d96fa7b9f61dc0442
|
2022-05-19 |
Add test with register reuse |
0032b02045af081df30f35b508b6b790e44fcdc2
|
2022-05-24 |
Add gen_dupn |
a88fc48b3a61b63aa1c2f4b05981e0d8726e2b9e
|
2022-05-24 |
Add CCall IR insn, implement gen_swap() |
efb45acb2932dd8ebd60853584370ca75653cdf8
|
2022-05-24 |
Load GC Value operands into registers |
7c83a904a49a8ba3a1b78474a6d51a7a32178a4a
|
2022-05-25 |
Implement gc offset logic |
04e2ccede4e992a6e0d18ed506d76625ee7da8a3
|
2022-06-06 |
Change codegen.rs to use backend Assembler directly |
39dd8b2dfbb50aab7731466b57c39eaf96e66996
|
2022-06-06 |
Add test for lea and ret. Fix codegen for lea and ret. |
a1b8c947380716a5ffca2b1888a6310e8132b00c
|
2022-06-15 |
* Arm64 Beginnings (https://github.com/Shopify/ruby/pull/291) |
3133540be79a511c79c3876df40ad25c912ecc79
|
2022-06-07 |
Progress on codegen.rs port |
e22134277b81124ba2ce4cf3e08ad0983c0432c9
|
2022-06-07 |
Remove x86_64 dependency in core.rs |
03ed50310d772e555f819a4b321e4d6593161233
|
2022-06-07 |
Have Assembler::compile() return a list of GC offsets |
c2fdec93a9d533e9e9eaabd96b6bf5210b211abf
|
2022-06-07 |
First pass at porting gen_entry_prologue() |
71770ceee5c515d97dad1a0088008561106d141d
|
2022-06-08 |
Map comments in backend |
77383b3958a90c3e6c257e3c4431fed54a9de10b
|
2022-06-08 |
Add conditional jumps |
ea9abe547da383f30bd0afe73c6693ed1ff68765
|
2022-06-08 |
Add cpush and cpop IR instructions |
d75c346c1cb5d67fd4c6582274a3ff4f1450af15
|
2022-06-09 |
Port gen_leave_exit(), add support for labels to backend |
0000984fed1be885ad51845477f4e475d1b07fab
|
2022-06-09 |
Port over putnil, putobject, and gen_leave() |
27fcab995e6dde19deb91dc6e291bdb72100af68
|
2022-06-14 |
Get side exits working, get miniruby to boot with threshold=1 |
e72dab304e423ad8c98656c146d52f6a8fa4a2c2
|
2022-06-14 |
Add atomic counter increment instruction |
9d18e6c300eacfdf11e166326156677e56fc6392
|
2022-06-14 |
Port gen_code_for_exit_from_stub() |
4dbc1e1d825b4a50e3847de788da0ab6a8d860ae
|
2022-06-14 |
Port bitwise not, gen_check_ints() |
e743e3bf20a38d44888383393823b8776c2d1e90
|
2022-06-14 |
Remove unused code, add backend asm test |
ae9bcfec8c237266e324fc1ae6a7a28390045b7e
|
2022-06-15 |
Add assert |
401521ca14da1b740be9004cc4a344925dbf5fff
|
2022-06-15 |
Rename transform_insns to forward_pass |
59b818ec8757348e3f7fa463ace36489c5ec75ac
|
2022-06-15 |
Add support for using InsnOut as memory operand base |
1923842b3dd97cf00d1511b7962a509dd650f06b
|
2022-06-15 |
Move backend tests to their own file |
abea8c8983aef411f7e6a2afbfbc25e31b2f5486
|
2022-06-15 |
Add stores to one of the tests |
40ac79ada89953f5ed9e36bdb5b3d0d3ae8d8f3e
|
2022-06-15 |
Add bitwise and to x86 backend |
b8fc9909bfa18677d5ad2cb2535ca1f0537216e5
|
2022-06-15 |
Get rid of temporary context methods |
4932a6ef755ae4cc473666c8757f7c51ac8c2902
|
2022-06-16 |
Fix small bug in x86_split |
084d4bb19228eed3e89663a2d24ab3accaa1a4ee
|
2022-06-16 |
Implement X86Reg::sub_reg() method |
67de662c4419d4d115f40f8d3ed0c295b581dcf0
|
2022-06-16 |
Add Opnd.rm_num_bits() method |
57e64f70c0af7a19b4cf68462ea2467286f4e9cb
|
2022-06-20 |
Make sure allocated reg size in bits matches insn out size |
c5ae52630f9a362579608f27cfbd7a1f08c4d77f
|
2022-06-20 |
Port gen_putself, log what can't be compiled in --yjit-dump-insns |
4c7d7080d2fdd07d84de63231618a090fa5addad
|
2022-06-20 |
Port over gen_putspecialobject |
b89d878ea61d2883838fdd466c6f432134ae1860
|
2022-06-20 |
Port getlocal_WC0 |
00ad14f8c92c7b3e305c015b9d4352f1b0c30d5a
|
2022-06-20 |
Port gen_full_cfunc_return |
d0204e51e270a1dacdfa3ae775892840b0e7b192
|
2022-06-20 |
Port guard_two_fixnums |
8bb7421d8e222fdae6b51049993efc46cf494f15
|
2022-06-20 |
Port topn, adjuststack, most of opt_plus |
24db233fc70799642aad09be9170da61332ff010
|
2022-06-20 |
Add jo insn and test for jo |
4254174ca76d8e64db29fbcbcfc99a81e2d50211
|
2022-06-20 |
Port over setn |
2eba6aef724f20162bd650d535be876aa4a19964
|
2022-06-21 |
Port over get_branch_target() |
4c0a440b1828fd1cc1dba24ae1d0a384e98859aa
|
2022-06-21 |
Port over duphash and newarray |
f1b188143b0255cef498ce4fb7a331daca64e063
|
2022-06-21 |
Fix backend transform bug, add test |
aab53e2868f7b1a28915f181e0875b990c07b8c9
|
2022-07-06 |
Add test for direct jump to a code pointer |
65019ed60c635b34337ea35978e931d09ab0181b
|
2022-07-07 |
Get codegen for deferred compilation working |
580f26959eb31d523ac21d640e21ddbe70779512
|
2022-07-07 |
Get started on branchunless port |
ab2fa6ebddc13679452ad9f0fc3a7b630a1cbe3a
|
2022-07-07 |
Add a backend test with a load of a GC'd VALUE |
0551115912fd6682187dd501275096fdb7570084
|
2022-07-07 |
Add #[must_use] annotations to asm instructions |
38c2fb8a90172bcaabc153016f0a43b92a921d9c
|
2022-07-12 |
Port YJIT New Backend Temp Checks to Cirrus (https://github.com/Shopify/ruby/pull/312) |
b45b29fdbf43ea6043c1df041372842a07f5b3a8
|
2022-07-12 |
Port gen_getlocal() |
86606e01ee984cd9aebdcc68c0b5025604fb5184
|
2022-07-20 |
Port over setlocal_wc0 |
6e5382780f4c6cdb7eef945898448639071969fc
|
2022-07-12 |
Port over putstring |
8d743e965e6bf95ea1649839fc1fe2429564c2d9
|
2022-07-12 |
Fix compile errors on arm on the CI (https://github.com/Shopify/ruby/pull/313) |
5e834195fd71652939c54b15952e269a6f172853
|
2022-07-14 |
Exclude X0 (C_RET_REG) from allocatable registers on arm (https://github.com/Shopify/ruby/pull/319) |
a1ea018fd67c38bf24c0ebfdc75e994953c29644
|
2022-07-14 |
Add extra assertion in new_label for Kevin |
6c5008959925d2768e9495a5601b5245784bc87f
|
2022-07-14 |
Port newhash, add tests for newhash, duphash |
34ec89252bf4bf1c841a82be4183a3dc40046355
|
2022-07-15 |
Fix comment typo |
95e5c5227c0492ed33fa41f31a698bf320d2b437
|
2022-07-15 |
Fix bug with LeaLabel on x86, add CI test |
7787ef29fedb6d638893434c323db6ea85d85640
|
2022-07-15 |
Add --yjit-dump-insns test to Cirrus Arm workflow |
bf7277b518d5ab634ee708f54fbb8735a8eafdbc
|
2022-07-15 |
Update cirrus workflow |
e907aaa3fe87a4aacb808d10042425703c059825
|
2022-07-18 |
ADR fixes for LeaLabel and calls |
fd97f8ebc7f22df7e3a7bf05c5d9328946cb539e
|
2022-07-19 |
Use frame_setup() and frame_teardown() |
c9484fe0c1f2897521d08780a66fab89e5e2f5b1
|
2022-07-19 |
Fix push/pop and frame setup/teardown with Kevin & Alan |
90137f519459764a78ae8eb777e3f396f7cffd98
|
2022-07-20 |
Implement PosMarker instruction (https://github.com/Shopify/ruby/pull/328) |
f833d75bee13ecb485db1591898cb871b24a2991
|
2022-07-20 |
Refactor YJIT branches to use PosMarker (https://github.com/Shopify/ruby/pull/333) |
8259813bc30497986974633202f3052353295f95
|
2022-07-20 |
Temporarily simplify code for emit_conditional_jump to fix a bug |
8d2560f1f533c078ed23d71084129ce13ba33abf
|
2022-07-20 |
Port over setlocal and getglobal |
85872eecddf0e5a13ba2218bb2068e99d5ce1313
|
2022-07-20 |
Port over newrange |
8605efdd942d2a6b139abe66503427683e5dcad3
|
2022-07-21 |
Fix corrupted X29 causing segfault, thanks Alan! |
b1dbc5f1a683e4727f463c0a5a3e0195e5c2cc7f
|
2022-07-21 |
Fix crash in newhash ccall |
e9a2effd74a3c1a40bd82e75ac24e8570ba57364
|
2022-07-21 |
Enable more btests in the CI workflows (https://github.com/Shopify/ruby/pull/334) |
477c2df3fad22271958b92bdfafbae7155fbebb4
|
2022-07-21 |
Work on opt_lt, fix x86 backend bug in cmp() |
e9f9b8f43b2afdc437ab1b8ab883bab0525a3f43
|
2022-07-22 |
Fix bug with opt_lt, csel on x86 |
7e22ec7439211d43aea850a4e849f37e631ed131
|
2022-07-22 |
Clear the icache on arm |
4024553d131012c313d08b4939f3596b6044c077
|
2022-07-22 |
Add ifdef to clear cache |
96303342e417cb2e5980d3e3f0909d32bf004431
|
2022-07-22 |
Enable more btests |
133ad38777db991e20a1feba1acbfe5d97cc2fa0
|
2022-07-22 |
Fix CI workflows |
e131b217cfa9f29a0677e65cf573494279eda8a5
|
2022-07-22 |
Test --yjit-stats in our CI workflows |
2d9b98f9bc918b1161d308c5d202fcb3be01de07
|
2022-07-25 |
Fix a bug in the x86 backend wrt large integer values, enable more tests |
45da6974500070872a2b20fafe2b50bc1dce1052
|
2022-08-01 |
Push first pass at SSA IR sketch |
a75a6f7d7a1a2f876c76d1c0f3f56781221c3f68
|
2022-08-02 |
Remove empty lines |
ca68ccdaddb6930f2d6dc9172a8653bcfb340afd
|
2022-08-02 |
Fix C call reg alloc bug reported by Noah & Kokubun |
9db2ca723cac60c2d65865a4851c13cac58ff6a3
|
2022-08-02 |
Add 1 more allocatable reg on arm |
c91a44cba49c8164982f241c00dc7c6418a4757b
|
2022-08-04 |
Fix forward_pass usage in arm backend following John's PR |
d63b3e43bd0a2dac5447855e3fae2c3de3499e53
|
2022-08-04 |
Enable test_thread.rb on arm, now working |
b024b18f56df7e18bc744905f6d2e3888fc3900f
|
2022-08-04 |
Fix block invalidation with new backend. Enable more btests on x86 (https://github.com/Shopify/ruby/pull/359) |
e24037267f5912814dff463bccc618deacefd529
|
2022-08-05 |
Add Opnd::None error message to x86 backend as well |
46822ee13f4fb8d590c3bd6c66aab71566d68dfe
|
2022-08-05 |
Enable btests now passing on arm (https://github.com/Shopify/ruby/pull/378) |
85d6d76e41b0c2cec64e3726d8218467954f5ee6
|
2022-08-08 |
Enable test_insns.rb on arm |
32d9eef5626118b5848cdbe9fe8f17da043d781c
|
2022-08-09 |
Enable test_literal.rb and test_ractor.rb on arm |
cad35fb25c4300a53ad33d833d4595c2bdd30e00
|
2022-08-09 |
Try to run make -j in CI backend tests (https://github.com/Shopify/ruby/pull/386) |
8c45b8a989fea4c74d68c464a55aa54e9144994a
|
2022-08-10 |
Update asm comments for gen_send_iseq |
b54643d13ac4194f05151a366e9980350efec829
|
2022-08-10 |
Handle out of memory tests (https://github.com/Shopify/ruby/pull/393) |
c022a605401ccbc591640720a28c616cbaa19931
|
2022-08-11 |
Fix bugs in gen_opt_getinlinecache |
95dce1ccacb5e893bbd2bfb100c0778c5be83d47
|
2022-08-16 |
Temporarily disable rb_str_concat, add CI tests (https://github.com/Shopify/ruby/pull/407) |
1cf9f56c55b1a771217678843c9546e368db0af3
|
2022-08-17 |
Fix issue with expandarray, add missing jl, enable tests (https://github.com/Shopify/ruby/pull/409) |
5ef048e5b1c3dd61adf782ace570bb0a1f9bb12f
|
2022-08-24 |
Update yjit.md |
929a6a75eb3e3404eb8f6246a40b2cd73d0d3fed
|
2022-08-26 |
Remove ir_ssa.rs as we aren't using it and it's now outdated |
4a4daf00afbd5f6041d2b832df10c5c389781f1a
|
2022-08-30 |
Update .cirrus.yml |
5b5c627d37c1773dd280e0f14d9510f8fa8db04f
|
2022-09-09 |
YJIT: eliminate redundant mov in csel/cmov on x86 (#6348) |
64a020324dc7453c5678f44b898eb5da47b9abcc
|
2022-09-15 |
Add asm comments to make disasm more readable (#6377) |
d3733c2ba5207d29ef5b52a93672873ae369b52c
|
2022-09-20 |
Guard `--yjit-stats` behind `#[cfg(feature = "stats")]` (#6409) |
4e40fdbcee51767de888c81ce4ad2baae639e35f
|
2022-09-22 |
YJIT: add chain guards in `guard_two_fixnums` (#6422) |
8fcbb79742b27619683f0a5f25497a402eeca56f
|
2022-09-27 |
YJIT: reverse configure.ac changes that disable `--yjit-stats` on Graviton1 (#6457) |
a58cbddd57152a3a4712c6b37b6efa3c108847e7
|
2022-09-27 |
YJIT: add assertion wrt label names (#6459) |
2812a57b14de8bfab7feccb7924039edc2611aad
|
2022-10-27 |
Update docs wrt YJIT limitations and building YJIT (#6641) |
5e6633fcf988e5874d0a9929bdf2cd496289e75d
|
2022-10-31 |
YJIT: reduce default `--yjit-exec-mem-size` to 128MiB instead of 256 (#6649) |
dd4ae9a475e081f5264c827e8c50b351236a68d2
|
2022-11-04 |
Auto-enable YJIT build when rustc >= 1.58.0 present (#6662) |
3703a81491a16554674e4b15bac87efa3eb18f3b
|
2022-11-08 |
YJIT: improve/fix code to automatically build YJIT when available (#6684) |
a1b460bd6e4b53ce41771669d39a4a6f414bf35f
|
2022-11-13 |
Update yjit.md |
c4e99ac454cbbf731c2fe51fa549bd472ab1dc41
|
2022-11-22 |
Update yjit.md |
d2fa67de81f66cb42cfeebc81a03c57a4621c09a
|
2022-11-24 |
YJIT: rename `InsnOpnd` => `YARVOpnd` (#6801) |
07169fd824529c0f7f69ff0c10939b63abecc6ef
|
2022-11-24 |
Update YJIT section of `NEWS.md` (#6803) |
8a74361b41810b5fda74c573810fa1712c4a7841
|
2022-11-28 |
Update yjit.md to mention `RUBY_YJIT_ENABLE` |
d98d84b75dab450070ff3dc7154661a9941fb44d
|
2022-11-30 |
YJIT: add new counters for deferred compilation and queued blocks (#6837) |
e9e624b76e1f1b2c8dd5d4a6eea7e55ab491822e
|
2022-12-02 |
YJIT: check that we correctly auto-enable YJIT on Linux (#6854) |
606653e43a8207e15d6c3b450754d2a8bd349fc9
|
2022-12-02 |
Update yjit/src/codegen.rs |
3bb7a401600d37b569a6da6a2be82bcd84eac37f
|
2022-12-07 |
Update NEWS.md |
9350c2b12f308e8a3676630460e3aa0ae38f8b47
|
2022-12-07 |
Update YJIT warning, mention need to install rustc (#6873) |
30c76f4d0d1b090a2ac4885f10f31d59d9c243df
|
2022-12-07 |
Update yjit.md |
b26c9ce5e9b1c80a59f4faeb92be4a302232e12c
|
2022-12-08 |
YJIT: implement opt_newarray_min YARV instruction (#6888) |
daa893db412c6ae814d0291b4ac6fc62a466d394
|
2022-12-09 |
YJIT: implement `getconstant` YARV instruction (#6884) |
1004d693b7a3db5db98be59a3d3d468d2ee21ca5
|
2022-12-12 |
Make it so YJIT is no longer marked as experimental (#6909) |
40bf89872f1b5300040061e200468cac011dd67f
|
2023-01-09 |
Update yjit.md |
a9bcc058bb4cd954e8406c93debb876983627ca9
|
2023-01-17 |
Update yjit.md |
cd97976328204263c464cf6846e9bafe6424da15
|
2023-01-18 |
Add stats so we can keep track of x86 rel32 vs register calls (#7142) |
6bb576fe759e3ef86b2ea484313013c51c39f388
|
2023-01-18 |
YJIT: implement codegen for `String#empty?` (#7148) |
c221a40201d6c674f168a33bfa1f1952bbfb6891
|
2023-01-31 |
Update yjit.md |
4ce642620f10ae18171b41e166aaad3944ef482a
|
2023-01-31 |
Make sure RUBY_YJIT_ENABLE only enables YJIT for truthy values (#7208) |
97740a525ec882a77df192f0d3dd8880fe3e1599
|
2023-01-31 |
Update yjit.md |
2675f2c864f462dbdee85d2187e0ac3379106eed
|
2023-02-01 |
Remove whitespace |
73674cac2bbb2616a182305f4719844c59816e21
|
2023-02-02 |
YJIT: log the names of methods we call to in disasm (#7231) |
810aeb2d91f0e54fdc1d6a4fd9bf1dd51b2d3bde
|
2023-02-09 |
YJIT: optimized codegen for `rb_ary_empty_p` (WIP) (#7242) |
2c8e4aa2a0ff7aa92b81b4ed6ea890bc03332c0c
|
2023-02-09 |
YJIT: format numbers in stats printouts with comma separators (#7281) |
a7e8eabeed54392588c7f01afe8be2e72d3c526d
|
2023-02-10 |
YJIT: add counters for polymorphic send and send with known class (#7288) |
c3bae033eb9f2bb199dede052516ec923bcf10cc
|
2023-02-17 |
Add asm comment to YJIT's rb_str_empty_p |
de66b60f33106892e714198de6e7432c25a602dd
|
2023-02-27 |
YJIT: add defer_empty_count stat |
27c2572dbdf171ec0b4a107b573feff38399c018
|
2023-03-01 |
YJIT: reject large stacks so we can use i8/u8 stack_size and stack_offset (#7412) |
7b9aeaffcb5b3850771a1d7b257a71a750d9359a
|
2023-03-02 |
YJIT: shrink stack_size/sp_offet to u8/i8 (#7426) |
4d59d01621aff771f669cf82648eeec84e3f720f
|
2023-03-03 |
YJIT: fix CI issue reported by Koichi caused by small stack patch (#7442) |
65a95b82593683ba2e566fe1d14b086b80874c92
|
2023-03-09 |
YJIT: upgrade type in `guard_object_is_string` (#7489) |
9a735c776b5413377a921949494f42d1e15851ba
|
2023-03-15 |
YJIT: use u16 for insn_idx instead of u32 (#7534) |
473009d7cbafc4a94be53694b5934167072068e6
|
2023-03-16 |
YJIT: add stats to keep track of when branch direction is known (#7544) |
6ba07df4908d4d9d01ece339219e3b9e07ad1bce
|
2023-03-17 |
YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555) |
44f444478afad954f046d8345cafb3842708a4ca
|
2023-03-20 |
YJIT: tag output type as UnknownHeap in `toregexp` (#7562) |
27ecf3261ed117fdba1987dbb146e2164ed821e9
|
2023-03-20 |
Update yjit.md |
39a34694a0e33e18b4ac6e43cb8042e2d818ecd4
|
2023-03-28 |
YJIT: Add `--yjit-pause` and `RubyVM::YJIT.resume` (#7609) |
d26d3575cab676ade7d0257138a044e22b373e68
|
2023-04-04 |
YJIT: add stats for ratio of versions per block (#7653) |
277098bde2353e408ff4195d5cad387f0739b83c
|
2023-04-20 |
Fix inaccurate comment |
2acb44e0440327ee5fea8d324fa6c121214e6b96
|
2023-07-06 |
YJIT: add new stats counter for compiled ISEQ entry points (#8032) |
e770006486a84008e68d8ab0c01c4625f028a0de
|
2023-07-11 |
YJIT: add counter for untracked gbpp exit reason (#8052) |
d70484f0eb176a7ef7274972ff92b88905ea0edc
|
2023-07-17 |
YJIT: refactoring to allow for fancier call threshold logic (#8078) |
5669a28fde3b767953b5a7d6e63cd8e53f0185eb
|
2023-07-27 |
YJIT: implement missing `asm.jg` instruction in backend (#8130) |
3b88a0bee841aee77bee306d9d34e587561515cf
|
2023-08-01 |
YJIT: implement `expandarray_rhs_too_small` case (#8153) |
98b4256aa7a558e19739ac1d39ba10179277e1f4
|
2023-08-03 |
YJIT: handle expandarray_rhs_too_small case (#8161) |
4f99240b2e457608e3a86926df7aa4baf535ef0d
|
2023-08-03 |
YJIT: add jb (unsigned less-than) instruction to backend (#8168) |
fc0b2a8df2327b40a2f6667c1567b3f8264b58a5
|
2023-08-04 |
YJIT: guard for array_len >= num in expandarray (#8169) |
8d7861e3daf64e0bd30b2f9fe56f94eadfde5d3f
|
2023-08-04 |
YJIT: expand bitwise shift support in x86 assembler (#8174) |
c9b30f9d76ec7c726a703a7f8aad95b5998e7d6c
|
2023-08-09 |
YJIT: implement imul instruction encoding in x86 assembler (#8191) |
b5b34c1f84ffbc87004d4761621040e3ceb3542d
|
2023-08-10 |
YJIT: add mul() instruction to backend IR (#8195) |
a8cd18f08d3ee7475340dfea5eebe2f6b164b5ec
|
2023-08-11 |
YJIT: implement codegen for rb_int_lshift (#8201) |
b6c66604d81d53fda9f717831eac4547891601ad
|
2023-08-11 |
YJIT: increase max chain depth for expandarray (#8205) |
30a5b94517699589f6943163cd6b92f2f6c0023f
|
2023-08-17 |
YJIT: implement side chain fallback for setlocal to avoid exiting (#8227) |
314eed8a5ec9f1b46624b277dde75f8079026b7b
|
2023-08-18 |
YJIT: implement fast path for integer multiplication in opt_mult (#8204) |
eee83af34c726e564d6505a81545ddb73e976404
|
2023-08-21 |
Update yjit.md, document `--yjit-stats=quiet` |
c23e2e19b7a5e4b919a8b87de0269c128bbb9a5e
|
2023-08-22 |
YJIT: add code_region_overhead stat output (#8262) |
e58fed128b737119e7e0f44292e8b0f0c8e691fb
|
2023-08-30 |
YJIT: shrink Context from 29 to 21 bytes by reducing space used by TempMapping (#8321) |
ea491802fa4a6ce7070b318ffcad30cbeaf42635
|
2023-10-03 |
YJIT: add heuristic to avoid compiling cold ISEQs (#8522) |
13bde94a9f017e04f01f090b27b98d0f4eb69b84
|
2023-10-05 |
YJIT: shink local types from 8 to 4 bytes (#8597) |
a6d190fa4d33a848f063c3eec035035e34e55998
|
2023-10-10 |
Update yjit.md |
b2e1ddffa55463f1180af7f9b269a2d89140b131
|
2023-10-12 |
YJIT: port call threshold logic from Rust to C for performance (#8628) |
3e65115cef8dec7d280784fdd7324ede529051be
|
2023-10-19 |
YJIT: remove unused `--yjit-greedy-versioning` command-line option (#8713) |
6e38076b1689af98ab1164af9119b9304e54829a
|
2023-11-03 |
YJIT: implement two-step call threshold (#8839) |
d9d09381169dabc3ff954b7f307fbb06f9d928f5
|
2023-11-07 |
YJIT: update yjit.md, add MPLR 2023 paper and bibtex (#8861) |
c552a5f7b0d2ace0760499e88ad58e3b7711a267
|
2023-11-13 |
YJIT: shrink `Context` down to 15 bytes (#8911) |
f9628fb4be1c5eb5a652a6c3d3d97530bdcc76a5
|
2023-11-20 |
YJIT: make --yjit-max-versions=N option undocumented (#8962) |
7a93bee4f845f496742b03a0e575ed13631971b7
|
2023-11-22 |
YJIT: add an extra btest for shape too complex (#9013) |
f05d586cc99ceed0666459603bfe2aa77a2291ab
|
2023-11-23 |
YJIT: record `num_send_cfunc` stat (#9022) |
7f50c705742dd92509ae9fc3003eb7561baa7e8a
|
2023-11-27 |
YJIT: add top C function call counts to `--yjit-stats` (#9047) |
6310522a9a33c19e963e56a8f87388d802525937
|
2023-11-28 |
YJIT: reduce default exec-mem-size to 64MiB (#9054) |
ea3e17e430b74b4e58535a707319025e008cc123
|
2023-11-28 |
YJIT: fix bug in top cfunc logging in `--yjit-stats` (#9056) |
8d1138c1cf087f28510f4532c746e70c54d0f81e
|
2023-11-29 |
YJIT: edit `yjit.md` and bring it up to date (#9068) |
73e6d8a0d0a05bdf778502af639de32869dd41b3
|
2023-11-30 |
YJIT: optimized codegen for `rb_ary_length()` (#9085) |
3f25c08fa598ba48da8bb504aabe93a4a4c2d486
|
2023-12-11 |
YJIT: implement call fuzzer script (#9129) |
6a1bf4cf1b069de0aaa55bc327f0b9b1ee1f5ed0
|
2024-01-15 |
YJIT: optimized codegen for String#length (#9543) |
afba09d30f4c2ce6d0d77e06d5250967411cd74a
|
2024-01-17 |
YJIT: specialized codegen for integer right shift (#9564) |
23d46829264e21ec542c099d61922efa58cac916
|
2024-01-24 |
YJIT: fix small bug causing jit_rb_int_rshift to side-exit (#9684) |
1702528258c2b2a87dcf5673a80d999de35d0b71
|
2024-01-24 |
YJIT: reduce default exec mem size to 48MiB (#9685) |
adf29c9a986cb3510b9ddd55e0738b18076f41ad
|
2024-01-29 |
YJIT: add asm comment when we clear local types (#9713) |
bc10b958d2cc45b61e23c41d0aa892cbb82efafd
|
2024-01-29 |
YJIT: print warning when disasm options used without a dev build (#9744) |
fe5590e46465ce1bcdec73a9029f71be611880d9
|
2024-01-30 |
YJIT: add specialized codegen for fixnum XOR (#9763) |
5a87e9e2b56c00f7b4abb8f90e02c7601be1e82a
|
2024-02-02 |
YJIT: add missing jge comparison instruction (#9819) |
38a4b5c1fad4790c8170112e9a97bf165b48cdbd
|
2024-03-06 |
YJIT: String#getbyte codegen (#10188) |
bb3cbdfe2fcbfc2b6c7ee8699d35fde838615c26
|
2024-03-28 |
YJIT: add iseq_alloc_count to stats (#10398) |
571bfc7402bb05becb00a7ea1b8971ac6ad92d8a
|
2024-04-03 |
YJIT: update code optimization tips in yjit.md (#10445) |
ade22339e3056710dbe27eaa624c2e76fa15567b
|
2024-04-30 |
YJIT: print msg to stderr when RubyVM::YJIT.disasm not available (#10688) |
1eff5a98f1c83f37ca2daac1c52f3eb84f395acd
|
2024-05-28 |
YJIT: limit size of call count stats dict (#10858) |
425e630ce73cf79fa5529df199dde47fc109a5de
|
2024-06-07 |
YJIT: implement variable-length context encoding scheme (#10888) |
0d91887c6aa740d3226407cafa1f27c62fd119f4
|
2024-06-07 |
YJIT: implement cache for recently encoded/decoded contexts (#10938) |
39019b6a63b935d8bd75e46ff82a31e174b1bf85
|
2024-06-11 |
YJIT: add context cache size stat, lazily allocate cache |
ce06924a17176d18816d968867858f97401d7c82
|
2024-06-12 |
YJIT: add context cache hits stat (#10979) |
48e7112baaf338fa350f68f0386e05085d26606c
|
2024-07-10 |
YJIT: increase context cache size to 1024 (#10983) |
c0ad0c3e43816688c72dbb93a7a49e39c87082f5
|
2024-07-11 |
Update yjit.md, explain how to run a single test with test-all (#11151) |
3fbf9df39ad9c9338a2f9b94b4dd87c1c446ec95
|
2024-07-11 |
YJIT: increase context cache size to 1024 redux (#11140) |
a58e3305ce62b229f62fb67ab56a67d5def3f67b
|
2024-07-11 |
YJIT: remove doc/yjit/yjit_hacking.md (#11153) |
d989bc54e2f1b0bb577e068fce14da6b178b6b30
|
2024-07-15 |
YJIT: split chain_depth and flag booleans in context (#11169) |
081bdc512543a5f25251ed2b708e8761828dd704
|
2024-11-25 |
YJIT: fix small typo in command line options help (#12167) |
4b4d52ef50a926f0af6eeb3423c8e0e44603cd26
|
2024-12-04 |
YJIT: track time since initialization (#12263) |
8502a549ef506164ba506cecb5e1003bf53a4f27
|
2024-12-06 |
YJIT: small fix to stats formatting. (#12282) |
c71f7faaa96954a73516275e6beeccdffffc62f7
|
2024-12-10 |
YJIT: add MPLR talk link. Encourage users to use --yjit-mem-size (#12305) |
2a3dc9f32fd841a42b7c41ef15f5fd39dad2e288
|
2025-02-06 |
Add stats.rs placeholder |
c0e42a7e8fefc4f89d4723c762319a91f573027c
|
2025-02-06 |
Add CRuby bindings |
a45a85a58f16568a356bb12c6b9b3c4b9d7b59d1
|
2025-02-06 |
Add imports, allow dead code |
50908a7fe2a99357c7b7b0a5f629dc566b28db9f
|
2025-02-06 |
Replace RubyValue by VALUE |
6e9cc0e7bdfb5ed9a63a8eeebe5feb2b513b9acc
|
2025-02-06 |
Derive block default |
139102b24adb4fcd431785a3b5b38c4edbf3a515
|
2025-02-06 |
Add comments |
5e37317cc51bc8349714ccbd8004ae882f56542d
|
2025-02-06 |
Add (gutted) asm |
2b9570a24c88bb592760c40fd755d5fb6053c674
|
2025-02-06 |
Add BranchEdge |
d1b4bd4acac9df0e5fcc6097a44bc096fe1e69ac
|
2025-02-06 |
Move RubyOpcode |
b5deaf85dd47aa84358bb35d58bca1c14f7850bd
|
2025-02-06 |
AllocArray => NewArray |
5af1c2ed62a681bd4e710e81f62e1a1e27582f8a
|
2025-02-06 |
Add YARVInsn_nop |
e0f1bc86b9fd3f82200d2651e578c4120cd975cf
|
2025-02-06 |
Sketch opt_plus |
3c8386b11d68c9c9472254faf08e667754aaea34
|
2025-02-06 |
Store interpreter pc on FrameState |
35aec9ff680904ebe1067d40c18e2b75fd1d0b7f
|
2025-02-06 |
Sketch Send insn |
34becd4017e2eb5f5f0e9be93cb85a4495892f7f
|
2025-02-06 |
Add CCall insn |
73d01016e81bc9f24355777de1a04a6a8b5a1a80
|
2025-02-06 |
Add opt_lt, remove as_usize() trait |
c5e17f50b7bc81d39f2f063a238fc8cb55ef726c
|
2025-02-06 |
Make iseq_to_ssa return Function object |
3305e7626ddbdb0e787fd17cb26eb9ae18e16afe
|
2025-02-06 |
Store pc on frame state |
75724a10e1c864ecf11a9e528ceabb4e90ac61b6
|
2025-02-06 |
Remove mock RubyOpcode |
a93ff3616115688f5b96ec926e32f39522f80d78
|
2025-02-06 |
Add empty doc/zjit.md to place notes |
66c2809980e513f9fd69c50792094b43353a5b5f
|
2025-02-06 |
Store iseq associated with function |
8caed382448fea04124ebd2265ecdc1f5bcf82be
|
2025-02-12 |
Add some basic documentation for ZJIT |
6de43bdc3162bd6ddfad210c93882d15dba82791
|
2025-02-12 |
Mention rubyexplorer |
ce9c9e0a6a9651a23d1274b73ad9a7e26bf9396d
|
2025-02-14 |
Rename ir.rs to hir.rs to avoid namespace ambiguity with backend |
9644b17279bb39eac6d6951d04341eb7324720ea
|
2025-02-14 |
Add minor comments |
d2115562b92e70bea71cfaca175f59587c6a77da
|
2025-03-07 |
Add two more small btests |
113080936355d2e43dbbb0bcd0b09bf93966f2f6
|
2025-03-10 |
Add small test for setlocal |
43d532e36db81a68164f0a807c34c57b6f4a363f
|
2025-03-10 |
Add while loop test to test_zjit.rb |
708940e8c2335d11dd1891c0e9ed7b5d437b56bb
|
2025-03-10 |
Add commented out if-else test to test_zjit.rb |
29c0ef55a79e0cd32270d86870d32254b8f3fd0f
|
2025-03-10 |
Add comments to tests |
b9424e50963fdab8b950795186b80c5d9568ad4b
|
2025-03-12 |
Remove redundant bits from zjit.md |
b345fa90069ed98d79deb29e4a808563730324eb
|
2025-03-12 |
Reorder two tests, update comment |
c39a150787d77dc706f8af65ad46710b3d879190
|
2025-03-12 |
Implement codegen for Test insn (https://github.com/Shopify/zjit/pull/57) |
97a478f95fb09566360bcff2b3fba93098d4e1ac
|
2025-03-24 |
Add recursive factorial and fibonacci functions to test_zjit.rb |