Skip to content

Instantly share code, notes, and snippets.

@zenspider
Created May 10, 2025 21:00
Show Gist options
  • Save zenspider/fb4e9c80e573e17f7b0acb9dbd69f266 to your computer and use it in GitHub Desktop.
Save zenspider/fb4e9c80e573e17f7b0acb9dbd69f266 to your computer and use it in GitHub Desktop.
10000 $ ./diffdump 'def a(...); b(...); end' 'def a(x, ...); b(...); end'
--- /dev/fd/63 2025-05-10 14:00:39
+++ /dev/fd/62 2025-05-10 14:00:39
@@ -1,12 +1,17 @@
-== disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(1,23)>
+== disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(1,26)>
0000 definemethod :a, a ( 1)[Li]
0003 putobject :a
0005 leave
-== disasm: #<ISeq:a@<compiled>:1 (1,0)-(1,23)>
-local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
-[ 1] "..."@0
+== disasm: #<ISeq:a@<compiled>:1 (1,0)-(1,26)>
+local table (size: 5, argc: 1 [opts: 0, rest: 1, post: 0, block: 3, kw: -1@-1, kwrest: 2])
+[ 5] x@0<Arg> [ 4] "*"@1<AnonRest>[ 3] "**"@2<AnonKwrest>[ 2] "&"@3<Block>[ 1] "..."@4
0000 putself ( 1)[LiCa]
-0001 getlocal_WC_0 "..."@0
-0003 sendforward <calldata!mid:b, argc:0, FCALL|FORWARDING>, nil
-0006 leave [Re]
+0001 getlocal_WC_0 "*"@1
+0003 splatarray true
+0005 getlocal_WC_0 "**"@2
+0007 getblockparamproxy "&"@3, 0
+0010 splatkw
+0011 splatkw
+0012 send <calldata!mid:b, argc:2, ARGS_SPLAT|ARGS_SPLAT_MUT|ARGS_BLOCKARG|FCALL|KW_SPLAT>, nil
+0015 leave [Re]
10001 $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment