opcodes[]: global scope global { global scope implicit__sort-fu { } void sort ( uint8* a, uint8* e, bool(uint8, uint8) gt ) { var uint8* a var uint8* e var bool(uint8, uint8) gt var uint8*[] stack var uint8 pushed local scope ANON var uint8* a0 var uint8* e0 var uint8 a_lim var uint8 e_lim lvar+4+0 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+2 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) >= ( uint8*, uint8* -- bool ) jp_z ( bool -- ) -> L3 jp ( -- ) -> L2 L3: 64 ( -- uint16 ) alloc ( uint16 -- uint8*[] ) 0 ( -- uint8 ) lvar+2+4 "e" ( -- uint8*& ) -- ( uint8*& -- ) L5: lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) <= ( uint8*, uint8* -- bool ) jp_nz ( bool -- ) -> L7 "sort-fu.h, line 121: assert(a<=e)" ( -- ucs1str ) abort ( ucs1str -- ) L7: lvar+2+4 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+6 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) - ( uint8*, uint8* -- int16 ) switch ( int16 -- ) { 0:L17, 1:L14, 2:L9, dflt:L8, join:L8 } L9: lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+2+6 "e" ( -- uint8*& ) mmpeek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+8 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L10 lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L10 L10: lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+2+6 "e" ( -- uint8*& ) pppeek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+8 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L12 lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L12 L12: lvar+4+4 "a" ( -- uint8*& ) ++ ( uint8*& -- ) L14: lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+8 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L17 lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L17 L17: lvar-4+4 "pushed" ( -- uint8& ) peek ( uint8& -- uint8 ) !! ( uint8 -- bool ) jp_z ( bool -- ) -> L18 lvar-2+4 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+6 "pushed" ( -- uint8& ) mmpeek ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar-2+4 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+6 "pushed" ( -- uint8& ) mmpeek ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+6 "a" ( -- uint8*& ) poke ( uint8*, uint8*& -- ) jp ( -- ) -> L5 L18: drop ( uint8 -- ) dispose ( uint8*[] -- ) jp ( -- ) -> L2 L8: lvar+4+4 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+6 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+8 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+2+10 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+12 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L20 lvar+4+8 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+10 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L20 L20: lvar+4+8 "a" ( -- uint8*& ) peekpp ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+2+10 "e" ( -- uint8*& ) peekmm ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) L22: lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+14 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) >= ( uint8*, uint8* -- bool ) jp_nz ( bool -- ) -> L23 lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar-10+14 "a_lim" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+0+16 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L25 lvar-12+12 "e_lim" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+4+14 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+16 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L27 lvar+4+12 "a" ( -- uint8*& ) peekpp ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar-10+14 "a_lim" ( -- uint8& ) poke ( uint8, uint8& -- ) jp ( -- ) -> L24 L27: lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+14 "e" ( -- uint8*& ) peekmm ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L24 L25: lvar+4+12 "a" ( -- uint8*& ) ++ ( uint8*& -- ) L24: lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+14 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) >= ( uint8*, uint8* -- bool ) jp_nz ( bool -- ) -> L23 lvar-12+12 "e_lim" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+2+14 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar+0+16 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L29 lvar+2+12 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar-10+14 "a_lim" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+0+16 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L31 lvar+2+12 "e" ( -- uint8*& ) peekmm ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar-12+14 "e_lim" ( -- uint8& ) poke ( uint8, uint8& -- ) jp ( -- ) -> L22 L31: lvar+4+12 "a" ( -- uint8*& ) peekpp ( uint8*& -- uint8* ) lvar+2+14 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) swap ( uint8&, uint8& -- ) jp ( -- ) -> L22 L29: lvar+2+12 "e" ( -- uint8*& ) -- ( uint8*& -- ) jp ( -- ) -> L22 L23: lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) peek ( uint8& -- uint8 ) lvar-10+14 "a_lim" ( -- uint8& ) peek ( uint8& -- uint8 ) lvar+0+16 "gt" ( -- bool(uint8, uint8)& ) peek ( bool(uint8, uint8)& -- bool(uint8, uint8) ) call_procptr ( uint8, uint8, bool(uint8, uint8) -- bool ) jp_z ( bool -- ) -> L33 lvar+2+12 "e" ( -- uint8*& ) -- ( uint8*& -- ) jp ( -- ) -> L32 L33: lvar+4+12 "a" ( -- uint8*& ) ++ ( uint8*& -- ) L32: lvar+2+12 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar-6+14 "a0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) - ( uint8*, uint8* -- int16 ) lvar-8+14 "e0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+16 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) - ( uint8*, uint8* -- int16 ) > ( int16, int16 -- bool ) jp_z ( bool -- ) -> L35 lvar-6+12 "a0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar-2+14 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+16 "pushed" ( -- uint8& ) peekpp ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar+2+12 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar-2+14 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+16 "pushed" ( -- uint8& ) peekpp ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar+2+12 "e" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+14 "a" ( -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar-8+12 "e0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+2+14 "e" ( -- uint8*& ) poke ( uint8*, uint8*& -- ) jp ( -- ) -> L34 L35: lvar+4+12 "a" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar-2+14 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+16 "pushed" ( -- uint8& ) peekpp ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar-8+12 "e0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar-2+14 "stack" ( -- uint8*[]& ) peek ( uint8*[]& -- uint8*[]¢ ) lvar-4+16 "pushed" ( -- uint8& ) peekpp ( uint8& -- uint8 ) cast ( uint8 -- int16 ) atindex ( uint8*[]¢, int16 -- uint8*& ) poke ( uint8*, uint8*& -- ) lvar-6+12 "a0" ( -- uint8*& ) peek ( uint8*& -- uint8* ) lvar+4+14 "a" ( -- uint8*& ) poke ( uint8*, uint8*& -- ) L34: drop ( uint8 -- ) drop ( uint8 -- ) drop ( uint8* -- ) drop ( uint8* -- ) jp ( -- ) -> L5 L2: drop ( bool(uint8, uint8) -- ) drop ( uint8* -- ) drop ( uint8* -- ) local scope ANON { } } }