--- /tmp/off-disasm-clean 2024-09-25 21:14:38.343015167 -0700 +++ /tmp/on-disasm-clean 2024-09-25 21:14:38.343015167 -0700 @@ -1,163 +1,265 @@ TEXT github.com/honeycombio/hound/lib/retriever/cstorage/lz4.(*Readahead).Next(SB) /home/lizf/hny/go/src/github.com/honeycombio/hound/lib/retriever/cstorage/lz4/lz4.go -lz4.go:138 CMPQ SP, 0x10(R14) -lz4.go:138 JBE 0x1b8000b +lz4.go:138 LEAQ -0x28(SP), R12 +lz4.go:138 CMPQ R12, 0x10(R14) +lz4.go:138 JBE 0x1b801fd lz4.go:138 PUSHQ BP lz4.go:138 MOVQ SP, BP -lz4.go:138 SUBQ $0x50, SP +lz4.go:138 SUBQ $0xa0, SP lz4.go:139 MOVQ 0x8(AX), R8 +lz4.go:139 NOPW lz4.go:139 TESTQ R8, R8 -lz4.go:139 JE 0x1b7ffc9 +lz4.go:139 JE 0x1b7ffbc lz4.go:142 NOPL buffer.go:341 MOVB $0x0, 0x20(R8) buffer.go:79 MOVQ 0x10(R8), DX buffer.go:79 MOVQ 0x8(R8), R9 buffer.go:79 MOVQ 0x18(R8), R10 buffer.go:79 SUBQ R10, R9 buffer.go:342 NOPL buffer.go:343 CMPQ BX, R9 buffer.go:346 MOVQ BX, DI buffer.go:346 CMOVG R9, DI buffer.go:346 LEAQ 0(DI)(R10*1), CX buffer.go:346 CMPQ DX, CX -buffer.go:343 JB 0x1b80005 +buffer.go:343 JB 0x1b801f7 buffer.go:346 CMPQ R10, CX -buffer.go:346 JA 0x1b7fffc +buffer.go:346 JA 0x1b801ef buffer.go:346 SUBQ R10, DX buffer.go:346 MOVQ DX, R9 buffer.go:346 NEGQ DX buffer.go:346 SARQ $0x3f, DX buffer.go:346 ANDQ DX, R10 buffer.go:79 MOVQ 0(R8), DX buffer.go:347 MOVQ CX, 0x18(R8) buffer.go:346 ADDQ R10, DX buffer.go:348 TESTQ DI, DI -buffer.go:348 JLE 0x1b7fe40 +buffer.go:348 JLE 0x1b7fe43 buffer.go:349 MOVB $0xff, 0x20(R8) -buffer.go:349 NOPL 0(AX) lz4.go:145 CMPQ BX, DI -lz4.go:145 JE 0x1b7ffb6 -lz4.go:139 MOVQ AX, 0x60(SP) -lz4.go:139 MOVQ BX, 0x68(SP) -buffer.go:346 MOVQ DI, 0x28(SP) -buffer.go:346 MOVQ DX, 0x40(SP) -buffer.go:346 NOPL 0(AX) +lz4.go:145 JE 0x1b7ffa6 +lz4.go:139 MOVQ AX, 0xb0(SP) +lz4.go:139 MOVQ BX, 0xb8(SP) +buffer.go:346 MOVQ DI, 0x48(SP) +buffer.go:346 MOVQ DX, 0x70(SP) lz4.go:150 CMPQ 0x38(AX), BX -lz4.go:150 JGE 0x1b7feba -lz4.go:151 LEAQ 0x1e5d73(IP), AX +lz4.go:150 JGE 0x1b7fec6 +lz4.go:151 LEAQ 0x1e5d6d(IP), AX lz4.go:151 MOVQ BX, CX lz4.go:151 XORL BX, BX lz4.go:151 CALL runtime.makeslice(SB) -lz4.go:151 MOVQ 0x60(SP), DX +lz4.go:151 MOVQ 0xb0(SP), DX lz4.go:151 MOVQ $0x0, 0x30(DX) -lz4.go:151 MOVQ 0x68(SP), SI +lz4.go:151 MOVQ 0xb8(SP), SI lz4.go:151 MOVQ SI, 0x38(DX) lz4.go:151 CMPL runtime.writeBarrier(SB), $0x0 -lz4.go:151 JE 0x1b7fea6 +lz4.go:151 JE 0x1b7feb2 lz4.go:151 CALL runtime.gcWriteBarrier2(SB) lz4.go:151 MOVQ AX, 0(R11) lz4.go:151 MOVQ 0x28(DX), R8 lz4.go:151 MOVQ R8, 0x8(R11) lz4.go:151 MOVQ AX, 0x28(DX) lz4.go:153 MOVQ DX, AX -lz4.go:153 MOVQ 0x40(SP), DX +lz4.go:153 MOVQ 0x70(SP), DX lz4.go:155 MOVQ SI, BX -lz4.go:153 MOVQ 0x28(SP), DI +lz4.go:153 MOVQ 0x48(SP), DI lz4.go:153 MOVQ 0x38(AX), CX lz4.go:153 MOVQ 0x28(AX), R8 lz4.go:153 CMPQ CX, DI -lz4.go:153 JB 0x1b7fecc +lz4.go:153 JB 0x1b7fed8 buffer.go:346 MOVQ DI, SI -lz4.go:153 JMP 0x1b7feee +lz4.go:153 JMP 0x1b7fefa lz4.go:153 MOVQ R8, AX lz4.go:153 MOVQ DI, BX -lz4.go:153 LEAQ 0x1e5d07(IP), SI +lz4.go:153 LEAQ 0x1e5cfb(IP), SI lz4.go:153 CALL runtime.growslice(SB) -lz4.go:153 MOVQ 0x40(SP), DX -lz4.go:153 MOVQ 0x28(SP), SI +lz4.go:153 MOVQ 0x70(SP), DX +lz4.go:153 MOVQ 0x48(SP), SI lz4.go:153 MOVQ BX, DI lz4.go:153 MOVQ AX, R8 -lz4.go:153 MOVQ R8, 0x48(SP) -lz4.go:153 MOVQ CX, 0x38(SP) -lz4.go:153 MOVQ DI, 0x30(SP) +lz4.go:153 MOVQ CX, 0x60(SP) +lz4.go:153 MOVQ DI, 0x58(SP) +lz4.go:153 MOVQ R8, 0x80(SP) lz4.go:153 MOVQ R8, AX lz4.go:153 MOVQ DX, BX lz4.go:153 MOVQ SI, CX lz4.go:153 CALL runtime.memmove(SB) -lz4.go:153 MOVQ 0x30(SP), AX +lz4.go:153 MOVQ 0x58(SP), AX +lz4.go:153 MOVQ 0xb0(SP), BX +lz4.go:153 MOVQ AX, 0x30(BX) lz4.go:153 MOVQ 0x60(SP), DX -lz4.go:153 MOVQ AX, 0x30(DX) -lz4.go:153 MOVQ 0x38(SP), DI -lz4.go:153 MOVQ DI, 0x38(DX) +lz4.go:153 MOVQ DX, 0x38(BX) lz4.go:153 CMPL runtime.writeBarrier(SB), $0x0 -lz4.go:153 JNE 0x1b7ff32 -lz4.go:153 MOVQ 0x48(SP), SI -lz4.go:153 JMP 0x1b7ff47 +lz4.go:153 JNE 0x1b7ff47 +lz4.go:153 MOVQ 0x80(SP), R8 +lz4.go:153 JMP 0x1b7ff5f lz4.go:153 CALL runtime.gcWriteBarrier2(SB) -lz4.go:153 MOVQ 0x48(SP), SI -lz4.go:153 MOVQ SI, 0(R11) -lz4.go:153 MOVQ 0x28(DX), R8 -lz4.go:153 MOVQ R8, 0x8(R11) -lz4.go:153 MOVQ SI, 0x28(DX) -lz4.go:155 MOVQ 0x68(SP), CX -lz4.go:155 CMPQ CX, DI -lz4.go:155 JA 0x1b7fff4 -lz4.go:155 NOPL 0(AX) +lz4.go:153 MOVQ 0x80(SP), R8 +lz4.go:153 MOVQ R8, 0(R11) +lz4.go:153 MOVQ 0x28(BX), R9 +lz4.go:153 MOVQ R9, 0x8(R11) +lz4.go:153 MOVQ R8, 0x28(BX) +lz4.go:155 MOVQ 0xb8(SP), CX +lz4.go:155 CMPQ CX, DX +lz4.go:155 JA 0x1b801ea lz4.go:155 CMPQ CX, AX -lz4.go:155 JB 0x1b7ffef -lz4.go:155 SUBQ AX, DI +lz4.go:155 JB 0x1b801e5 +lz4.go:155 SUBQ AX, DX +lz4.go:155 MOVQ DX, 0x30(SP) +lz4.go:155 MOVQ DX, R9 +lz4.go:155 NEGQ DX +lz4.go:155 SARQ $0x3f, DX +lz4.go:155 ANDQ AX, DX lz4.go:155 SUBQ AX, CX -lz4.go:155 MOVQ DI, R8 -lz4.go:155 NEGQ R8 -lz4.go:155 SARQ $0x3f, R8 -lz4.go:155 ANDQ R8, AX -lz4.go:155 LEAQ 0(SI)(AX*1), BX -lz4.go:155 MOVQ DX, AX -lz4.go:155 CALL github.com/honeycombio/hound/lib/retriever/cstorage/lz4.(*Readahead).Read(SB) -lz4.go:156 MOVQ 0x60(SP), DX -lz4.go:156 MOVQ 0x38(DX), SI -lz4.go:156 ADDQ 0x30(DX), AX -lz4.go:156 CMPQ SI, AX -lz4.go:156 JB 0x1b7ffe4 -lz4.go:156 MOVQ 0x28(DX), DX -lz4.go:156 MOVQ BX, DI -lz4.go:156 MOVQ AX, BX -lz4.go:156 MOVQ DX, AX -lz4.go:155 MOVQ CX, DX -lz4.go:156 MOVQ SI, CX -lz4.go:156 MOVQ DX, SI -lz4.go:156 ADDQ $0x50, SP -lz4.go:156 POPQ BP -lz4.go:156 RET +lz4.go:155 MOVQ CX, 0x28(SP) +lz4.go:155 ADDQ DX, R8 +lz4.go:155 MOVQ R8, 0x68(SP) +lz4.go:155 XORL AX, AX +lz4.go:99 JMP 0x1b7fff2 lz4.go:146 MOVQ DX, AX lz4.go:146 MOVQ DI, BX lz4.go:146 MOVQ R9, CX lz4.go:146 XORL DI, DI lz4.go:146 XORL SI, SI -lz4.go:146 ADDQ $0x50, SP +lz4.go:146 ADDQ $0xa0, SP lz4.go:146 POPQ BP lz4.go:146 RET lz4.go:140 MOVQ io.EOF(SB), DI lz4.go:140 MOVQ io.EOF+8(SB), SI lz4.go:140 XORL AX, AX lz4.go:140 XORL BX, BX lz4.go:140 MOVQ BX, CX -lz4.go:140 ADDQ $0x50, SP +lz4.go:140 ADDQ $0xa0, SP lz4.go:140 POPQ BP lz4.go:140 RET -lz4.go:156 MOVQ AX, CX -lz4.go:156 MOVQ SI, DX +lz4.go:110 MOVQ CX, 0x8(BX) +lz4.go:99 MOVQ 0x28(SP), CX +lz4.go:99 MOVQ 0x68(SP), R8 +lz4.go:99 MOVQ 0x30(SP), R9 +lz4.go:99 MOVQ 0x50(SP), AX +lz4.go:155 MOVQ AX, 0x40(SP) +lz4.go:99 MOVQ 0x8(BX), R10 +lz4.go:99 NOPL 0(AX)(AX*1) +lz4.go:99 TESTQ R10, R10 +lz4.go:99 JE 0x1b80152 +lz4.go:100 CMPQ AX, CX +lz4.go:100 JA 0x1b801e0 +lz4.go:100 MOVQ AX, R11 +lz4.go:100 SUBQ R9, AX +lz4.go:100 SARQ $0x3f, AX +lz4.go:100 ANDQ R11, AX +buffer.go:319 MOVB $0x0, 0x20(R10) +buffer.go:75 MOVQ 0x8(R10), R12 +buffer.go:75 MOVQ 0x18(R10), R13 +lz4.go:100 MOVQ CX, R15 +lz4.go:100 SUBQ R11, R15 +lz4.go:100 ADDQ R8, AX +buffer.go:75 CMPQ R13, R12 +buffer.go:320 JL 0x1b80055 +buffer.go:322 NOPL +buffer.go:107 MOVQ $0x0, 0x8(R10) +buffer.go:108 MOVQ $0x0, 0x18(R10) +buffer.go:109 MOVB $0x0, 0x20(R10) +buffer.go:109 XORL R15, R15 +lz4.go:100 JMP 0x1b800ce +buffer.go:328 JA 0x1b801d1 +buffer.go:328 SUBQ R13, R12 +buffer.go:75 MOVQ 0(R10), DX +buffer.go:75 MOVQ 0x10(R10), SI +buffer.go:328 MOVQ R13, DI +buffer.go:328 SUBQ SI, R13 +buffer.go:328 SARQ $0x3f, R13 +buffer.go:328 ANDQ DI, R13 +buffer.go:328 ADDQ DX, R13 +buffer.go:328 CMPQ R12, R15 +buffer.go:328 CMOVL R12, R15 +buffer.go:328 NOPL 0(AX) +buffer.go:328 CMPQ R13, AX +buffer.go:328 JE 0x1b800c0 +lz4.go:99 MOVQ R10, 0x78(SP) +buffer.go:328 MOVQ R15, 0x38(SP) +buffer.go:328 MOVQ R13, BX +buffer.go:328 MOVQ R15, CX +buffer.go:328 CALL runtime.memmove(SB) +lz4.go:102 MOVQ 0x28(SP), CX +lz4.go:107 MOVQ 0xb0(SP), BX +lz4.go:100 MOVQ 0x68(SP), R8 +lz4.go:100 MOVQ 0x30(SP), R9 +buffer.go:329 MOVQ 0x78(SP), R10 +lz4.go:101 MOVQ 0x40(SP), R11 +buffer.go:329 MOVQ 0x38(SP), R15 +buffer.go:329 ADDQ R15, 0x18(R10) +buffer.go:330 TESTQ R15, R15 +buffer.go:330 JLE 0x1b800ce +buffer.go:331 MOVB $0xff, 0x20(R10) +lz4.go:101 LEAQ 0(R11)(R15*1), R10 +lz4.go:102 CMPQ CX, R10 +lz4.go:102 JE 0x1b8014c +lz4.go:101 MOVQ R10, 0x50(SP) +lz4.go:107 MOVQ 0x18(BX), AX +lz4.go:107 LEAQ 0x8(BX), CX +lz4.go:107 MOVQ CX, BX +lz4.go:107 CALL runtime.chansend1(SB) +lz4.go:110 MOVQ $0x0, 0x98(SP) +lz4.go:110 MOVQ 0xb0(SP), CX +lz4.go:110 MOVQ 0x10(CX), AX +lz4.go:110 LEAQ 0x98(SP), BX +lz4.go:110 CALL runtime.chanrecv1(SB) +lz4.go:110 MOVQ 0x98(SP), CX +lz4.go:110 CMPL runtime.writeBarrier(SB), $0x0 +lz4.go:110 JNE 0x1b8012f +lz4.go:110 MOVQ 0xb0(SP), BX +lz4.go:110 JMP 0x1b7ffda +lz4.go:110 CALL runtime.gcWriteBarrier2(SB) +lz4.go:110 MOVQ CX, 0(R11) +lz4.go:110 MOVQ 0xb0(SP), BX +lz4.go:110 MOVQ 0x8(BX), R8 +lz4.go:110 MOVQ R8, 0x8(R11) +lz4.go:110 JMP 0x1b7ffda +lz4.go:110 XORL CX, CX +lz4.go:110 XORL DX, DX +lz4.go:155 JMP 0x1b801a0 +lz4.go:113 MOVUPS X15, 0x88(SP) +lz4.go:113 MOVQ 0x20(BX), AX +lz4.go:113 LEAQ 0x88(SP), BX +lz4.go:113 CALL runtime.chanrecv1(SB) +lz4.go:113 MOVQ 0x88(SP), CX +lz4.go:113 MOVQ 0x90(SP), DX +lz4.go:113 NOPL 0(AX) +lz4.go:114 TESTQ CX, CX +lz4.go:114 JNE 0x1b80193 +lz4.go:115 MOVQ io.EOF(SB), CX +lz4.go:115 MOVQ io.EOF+8(SB), DX +lz4.go:156 MOVQ 0xb0(SP), BX +lz4.go:155 MOVQ 0x40(SP), R10 +lz4.go:156 MOVQ 0x38(BX), R8 +lz4.go:156 ADDQ 0x30(BX), R10 +lz4.go:156 CMPQ R8, R10 +lz4.go:156 JB 0x1b801c6 +lz4.go:156 MOVQ 0x28(BX), AX +lz4.go:156 MOVQ R10, BX +lz4.go:156 MOVQ CX, DI +lz4.go:156 MOVQ DX, SI +lz4.go:156 MOVQ R8, CX +lz4.go:156 ADDQ $0xa0, SP +lz4.go:156 POPQ BP +lz4.go:156 RET +lz4.go:156 MOVQ R10, CX +lz4.go:156 MOVQ R8, DX lz4.go:156 CALL runtime.panicSliceAcap(SB) +buffer.go:328 MOVQ R13, AX +buffer.go:328 MOVQ R12, CX +buffer.go:328 CALL runtime.panicSliceB(SB) +buffer.go:328 NOPL 0(AX) +lz4.go:100 CALL runtime.panicSliceB(SB) lz4.go:155 CALL runtime.panicSliceB(SB) -lz4.go:155 MOVQ DI, DX lz4.go:155 CALL runtime.panicSliceAcap(SB) buffer.go:346 MOVQ R10, AX -buffer.go:346 NOPL buffer.go:346 CALL runtime.panicSliceB(SB) buffer.go:346 CALL runtime.panicSliceAcap(SB) buffer.go:346 NOPL lz4.go:138 MOVQ AX, 0x8(SP) lz4.go:138 MOVQ BX, 0x10(SP) lz4.go:138 CALL runtime.morestack_noctxt.abi0(SB) lz4.go:138 MOVQ 0x8(SP), AX lz4.go:138 MOVQ 0x10(SP), BX lz4.go:138 JMP github.com/honeycombio/hound/lib/retriever/cstorage/lz4.(*Readahead).Next(SB)