Disassembly for arrow-rs/7358

Created Diff never expires
15 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
130 lines
16 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
131 lines
.globl arrow_buffer::buffer::mutable::MutableBuffer::shrink_to_fit
.globl arrow_buffer::buffer::mutable::MutableBuffer::shrink_to_fit
.p2align 2
.p2align 2
arrow_buffer::buffer::mutable::MutableBuffer::shrink_to_fit:
arrow_buffer::buffer::mutable::MutableBuffer::shrink_to_fit:
Lfunc_begin39:
Lfunc_begin39:
.cfi_startproc
.cfi_startproc
ldr x8, [x0, #24]
ldr x1, [x0, #24]
cmn x8, #63
ands x8, x1, #0x3f
b.hs LBB39_3
b.eq LBB39_3
add x8, x8, #63
mov w9, #64
and x1, x8, #0xffffffffffffffc0
sub x8, x9, x8
cmn x1, x8
b.hs LBB39_6
add x1, x8, x1
LBB39_3:
ldr x8, [x0, #8]
ldr x8, [x0, #8]
cmp x1, x8
cmp x1, x8
b.lo LBB39_4
b.lo LBB39_5
ret
ret
LBB39_3:
LBB39_5:
b arrow_buffer::buffer::mutable::MutableBuffer::reallocate
LBB39_6:
stp x29, x30, [sp, #-16]!
stp x29, x30, [sp, #-16]!
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
mov x29, sp
mov x29, sp
.cfi_def_cfa w29, 16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w29, -16
Lloh158:
Lloh158:
adrp x0, l___unnamed_17@PAGE
adrp x0, l___unnamed_17@PAGE
Lloh159:
Lloh159:
add x0, x0, l___unnamed_17@PAGEOFF
add x0, x0, l___unnamed_17@PAGEOFF
Lloh160:
Lloh160:
adrp x2, l___unnamed_18@PAGE
adrp x2, l___unnamed_18@PAGE
Lloh161:
Lloh161:
add x2, x2, l___unnamed_18@PAGEOFF
add x2, x2, l___unnamed_18@PAGEOFF
mov w1, #42
mov w1, #35
bl core::option::expect_failed
bl core::option::expect_failed
LBB39_4:
.cfi_def_cfa wsp, 0
.cfi_same_value w30
.cfi_same_value w29
b arrow_buffer::buffer::mutable::MutableBuffer::reallocate
.loh AdrpAdd Lloh160, Lloh161
.loh AdrpAdd Lloh160, Lloh161
.loh AdrpAdd Lloh158, Lloh159
.loh AdrpAdd Lloh158, Lloh159


======================= Additional context =========================
======================= Additional context =========================


.globl arrow_buffer::buffer::mutable::MutableBuffer::reallocate
.globl arrow_buffer::buffer::mutable::MutableBuffer::reallocate
.p2align 2
.p2align 2
arrow_buffer::buffer::mutable::MutableBuffer::reallocate:
arrow_buffer::buffer::mutable::MutableBuffer::reallocate:
Lfunc_begin38:
Lfunc_begin38:
.cfi_startproc
.cfi_startproc
sub sp, sp, #64
sub sp, sp, #64
.cfi_def_cfa_offset 64
.cfi_def_cfa_offset 64
stp x22, x21, [sp, #16]
stp x22, x21, [sp, #16]
stp x20, x19, [sp, #32]
stp x20, x19, [sp, #32]
stp x29, x30, [sp, #48]
stp x29, x30, [sp, #48]
add x29, sp, #48
add x29, sp, #48
.cfi_def_cfa w29, 16
.cfi_def_cfa w29, 16
.cfi_offset w30, -8
.cfi_offset w30, -8
.cfi_offset w29, -16
.cfi_offset w29, -16
.cfi_offset w19, -24
.cfi_offset w19, -24
.cfi_offset w20, -32
.cfi_offset w20, -32
.cfi_offset w21, -40
.cfi_offset w21, -40
.cfi_offset w22, -48
.cfi_offset w22, -48
.cfi_remember_state
.cfi_remember_state
mov x20, x1
mov x20, x1
mov x19, x0
mov x19, x0
ldr x21, [x0]
ldr x21, [x0]
mov x0, x1
mov x0, x1
mov x1, x21
mov x1, x21
bl core::alloc::layout::Layout::is_size_align_valid
bl core::alloc::layout::Layout::is_size_align_valid
tbz w0, #0, LBB38_11
tbz w0, #0, LBB38_11
ldr x1, [x19, #8]
ldr x1, [x19, #8]
cbz x20, LBB38_5
cbz x20, LBB38_5
cbz x1, LBB38_9
cbz x1, LBB38_9
ldr x0, [x19, #16]
ldr x0, [x19, #16]
mov x2, x21
mov x2, x21
mov x3, x20
mov x3, x20
bl ___rust_realloc
bl ___rust_realloc
cbz x0, LBB38_10
cbz x0, LBB38_10
str x0, [x19, #16]
str x0, [x19, #16]
b LBB38_7
b LBB38_7
cbz x1, LBB38_8
cbz x1, LBB38_8
ldr x0, [x19, #16]
ldr x0, [x19, #16]
mov x2, x21
mov x2, x21
bl ___rust_dealloc
bl ___rust_dealloc
mov x20, #0
mov x20, #0
LBB38_7:
LBB38_7:
str x20, [x19, #8]
str x20, [x19, #8]
.cfi_def_cfa wsp, 64
.cfi_def_cfa wsp, 64
ldp x29, x30, [sp, #48]
ldp x29, x30, [sp, #48]
ldp x20, x19, [sp, #32]
ldp x20, x19, [sp, #32]
ldp x22, x21, [sp, #16]
ldp x22, x21, [sp, #16]
add sp, sp, #64
add sp, sp, #64
.cfi_def_cfa_offset 0
.cfi_def_cfa_offset 0
.cfi_restore w30
.cfi_restore w30
.cfi_restore w29
.cfi_restore w29
.cfi_restore w19
.cfi_restore w19
.cfi_restore w20
.cfi_restore w20
.cfi_restore w21
.cfi_restore w21
.cfi_restore w22
.cfi_restore w22
ret
ret
.cfi_restore_state
.cfi_restore_state
Lloh150:
Lloh150:
adrp x8, ___rust_no_alloc_shim_is_unstable@GOTPAGE
adrp x8, ___rust_no_alloc_shim_is_unstable@GOTPAGE
Lloh151:
Lloh151:
ldr x8, [x8, ___rust_no_alloc_shim_is_unstable@GOTPAGEOFF]
ldr x8, [x8, ___rust_no_alloc_shim_is_unstable@GOTPAGEOFF]
ldrb wzr, [x8]
ldrb wzr, [x8]
mov x0, x20
mov x0, x20
mov x1, x21
mov x1, x21
bl ___rust_alloc
bl ___rust_alloc
cbnz x0, LBB38_4
cbnz x0, LBB38_4
mov x0, x21
mov x0, x21
mov x1, x20
mov x1, x20
bl alloc::alloc::handle_alloc_error
bl alloc::alloc::handle_alloc_error
Lloh152:
Lloh152:
adrp x0, l___unnamed_31@PAGE
adrp x0, l___unnamed_31@PAGE
Lloh153:
Lloh153:
add x0, x0, l___unnamed_31@PAGEOFF
add x0, x0, l___unnamed_31@PAGEOFF
Lloh154:
Lloh154:
adrp x3, l___unnamed_2@PAGE
adrp x3, l___unnamed_2@PAGE
Lloh155:
Lloh155:
add x3, x3, l___unnamed_2@PAGEOFF
add x3, x3, l___unnamed_2@PAGEOFF
Lloh156:
Lloh156:
adrp x4, l___unnamed_35@PAGE
adrp x4, l___unnamed_35@PAGE
Lloh157:
Lloh157:
add x4, x4, l___unnamed_35@PAGEOFF
add x4, x4, l___unnamed_35@PAGEOFF
add x2, sp, #15
add x2, sp, #15
mov w1, #43
mov w1, #43
bl core::result::unwrap_failed
bl core::result::unwrap_failed
.loh AdrpLdrGot Lloh150, Lloh151
.loh AdrpLdrGot Lloh150, Lloh151
.loh AdrpAdd Lloh156, Lloh157
.loh AdrpAdd Lloh156, Lloh157
.loh AdrpAdd Lloh154, Lloh155
.loh AdrpAdd Lloh154, Lloh155
.loh AdrpAdd Lloh152, Lloh153
.loh AdrpAdd Lloh152, Lloh153