Skip to content

Instantly share code, notes, and snippets.

@brson
Created March 13, 2013 22:01
Show Gist options
  • Save brson/5156799 to your computer and use it in GitHub Desktop.
Save brson/5156799 to your computer and use it in GitHub Desktop.
.file "blur.rc"
.text
.align 16, 0x90
.type glue_take_2391,@function
glue_take_2391:
cmpq %fs:112, %rsp
ja .LBB0_2
movabsq $8, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB0_2:
pushq %rbp
movq %rsp, %rbp
popq %rbp
ret
.Ltmp0:
.size glue_take_2391, .Ltmp0-glue_take_2391
.align 16, 0x90
.type glue_drop_2393,@function
glue_drop_2393:
cmpq %fs:112, %rsp
ja .LBB1_2
movabsq $8, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB1_2:
pushq %rbp
movq %rsp, %rbp
popq %rbp
ret
.Ltmp1:
.size glue_drop_2393, .Ltmp1-glue_drop_2393
.align 16, 0x90
.type glue_free_2395,@function
glue_free_2395:
cmpq %fs:112, %rsp
ja .LBB2_2
movabsq $8, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB2_2:
pushq %rbp
movq %rsp, %rbp
popq %rbp
ret
.Ltmp2:
.size glue_free_2395, .Ltmp2-glue_free_2395
.align 16, 0x90
.type glue_visit_2397,@function
glue_visit_2397:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB3_2
movabsq $24, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB3_2:
pushq %rbp
.Ltmp5:
.cfi_def_cfa_offset 16
.Ltmp6:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp7:
.cfi_def_cfa_register %rbp
subq $16, %rsp
movq (%rcx), %rax
movq 8(%rcx), %rcx
addq $32, %rcx
movq %rcx, -16(%rbp)
leaq -1(%rbp), %rdi
leaq -16(%rbp), %rsi
leaq tydesc_2399(%rip), %rcx
movl $1, %edx
callq *208(%rax)
addq $16, %rsp
popq %rbp
ret
.Ltmp8:
.size glue_visit_2397, .Ltmp8-glue_visit_2397
.cfi_endproc
.align 16, 0x90
.type glue_visit_2401,@function
glue_visit_2401:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB4_2
movabsq $24, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB4_2:
pushq %rbp
.Ltmp11:
.cfi_def_cfa_offset 16
.Ltmp12:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp13:
.cfi_def_cfa_register %rbp
subq $16, %rsp
movq (%rcx), %rax
movq 8(%rcx), %rcx
addq $32, %rcx
movq %rcx, -16(%rbp)
leaq -1(%rbp), %rdi
leaq -16(%rbp), %rsi
callq *72(%rax)
addq $16, %rsp
popq %rbp
ret
.Ltmp14:
.size glue_visit_2401, .Ltmp14-glue_visit_2401
.cfi_endproc
.globl _ZN3str14__extensions__9meth_24148to_owned16_7c2197c1e5dc2ef3_00E
.align 16, 0x90
.type _ZN3str14__extensions__9meth_24148to_owned16_7c2197c1e5dc2ef3_00E,@function
_ZN3str14__extensions__9meth_24148to_owned16_7c2197c1e5dc2ef3_00E:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB5_2
movabsq $56, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB5_2:
pushq %rbp
.Ltmp18:
.cfi_def_cfa_offset 16
.Ltmp19:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp20:
.cfi_def_cfa_register %rbp
pushq %r14
pushq %rbx
subq $32, %rsp
.Ltmp21:
.cfi_offset %rbx, -32
.Ltmp22:
.cfi_offset %r14, -24
movq %rsi, %rbx
movq %rdi, %r14
movq (%rbx), %rcx
movq (%rcx), %rax
movq 8(%rcx), %rcx
movq %rcx, -24(%rbp)
movq %rax, -32(%rbp)
leaq -40(%rbp), %rdi
leaq -32(%rbp), %rdx
callq _ZN3str3len16_2aaebe460c1abbb3_06E@PLT
leaq -32(%rbp), %rdx
movq -40(%rbp), %r8
movq (%rbx), %rcx
movq (%rcx), %rax
movq 8(%rcx), %rcx
movq %rcx, -24(%rbp)
movq %rax, -32(%rbp)
movq %r14, %rdi
xorl %ecx, %ecx
callq _ZN3str5slice17_ffcf473779b2ee7a3_06E@PLT
addq $32, %rsp
popq %rbx
popq %r14
popq %rbp
ret
.Ltmp23:
.size _ZN3str14__extensions__9meth_24148to_owned16_7c2197c1e5dc2ef3_00E, .Ltmp23-_ZN3str14__extensions__9meth_24148to_owned16_7c2197c1e5dc2ef3_00E
.cfi_endproc
.globl _ZN3str14__extensions__9meth_24185slice16_4e01a556b5cc14b3_00E
.align 16, 0x90
.type _ZN3str14__extensions__9meth_24185slice16_4e01a556b5cc14b3_00E,@function
_ZN3str14__extensions__9meth_24185slice16_4e01a556b5cc14b3_00E:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB6_2
movabsq $24, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB6_2:
pushq %rbp
.Ltmp26:
.cfi_def_cfa_offset 16
.Ltmp27:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp28:
.cfi_def_cfa_register %rbp
subq $16, %rsp
movq %rcx, %rax
movq %rdx, %rcx
movq (%rsi), %rsi
movq (%rsi), %rdx
movq 8(%rsi), %rsi
movq %rsi, -8(%rbp)
movq %rdx, -16(%rbp)
leaq -16(%rbp), %rdx
movq %rax, %r8
callq _ZN3str5slice17_ffcf473779b2ee7a3_06E@PLT
addq $16, %rsp
popq %rbp
ret
.Ltmp29:
.size _ZN3str14__extensions__9meth_24185slice16_4e01a556b5cc14b3_00E, .Ltmp29-_ZN3str14__extensions__9meth_24185slice16_4e01a556b5cc14b3_00E
.cfi_endproc
.globl _ZN3str14__extensions__9meth_24213len17_86954380f9f8fd433_00E
.align 16, 0x90
.type _ZN3str14__extensions__9meth_24213len17_86954380f9f8fd433_00E,@function
_ZN3str14__extensions__9meth_24213len17_86954380f9f8fd433_00E:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB7_2
movabsq $24, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB7_2:
pushq %rbp
.Ltmp32:
.cfi_def_cfa_offset 16
.Ltmp33:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp34:
.cfi_def_cfa_register %rbp
subq $16, %rsp
movq (%rsi), %rcx
movq (%rcx), %rax
movq 8(%rcx), %rcx
movq %rcx, -8(%rbp)
movq %rax, -16(%rbp)
leaq -16(%rbp), %rdx
callq _ZN3str3len16_2aaebe460c1abbb3_06E@PLT
addq $16, %rsp
popq %rbp
ret
.Ltmp35:
.size _ZN3str14__extensions__9meth_24213len17_86954380f9f8fd433_00E, .Ltmp35-_ZN3str14__extensions__9meth_24213len17_86954380f9f8fd433_00E
.cfi_endproc
.align 16, 0x90
.type _ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E,@function
_ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB8_2
movabsq $40, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB8_2:
pushq %rbp
.Ltmp39:
.cfi_def_cfa_offset 16
.Ltmp40:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp41:
.cfi_def_cfa_register %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
.Ltmp42:
.cfi_offset %rbx, -40
.Ltmp43:
.cfi_offset %r14, -32
.Ltmp44:
.cfi_offset %r15, -24
movq %rdx, %r10
#APP
# let x_sample = x - (filter.len() - 1) / 2 + xx; (blur.rs:44:20: 44:66)
#NO_APP
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let y_sample = y - (filter.len() - 1) / 2 + yy; (blur.rs:45:20: 45:66)
#NO_APP
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
movq 80(%rsi), %rax
#APP
# let sample_value = data[width * (y_sample % height) + (x_sample % width)]; (blur.rs:46:20: 46:93)
#NO_APP
movq (%rax), %r9
testq %r9, %r9
je .LBB8_8
movq 72(%rsi), %rax
movq (%rax), %rbx
testq %rbx, %rbx
je .LBB8_8
movq 32(%rsi), %rax
movq 56(%rsi), %r8
movq (%rax), %rax
leaq -1(%r10,%rax), %rax
movq 64(%rsi), %r11
movq 48(%rsi), %rcx
movq (%r8), %r15
movq (%rcx), %rcx
xorl %edx, %edx
divq %rbx
movq %rdx, %r14
leaq -1(%rcx,%r15), %rax
xorl %edx, %edx
divq %r9
movq %rdx, %rax
imulq %rbx, %rax
addq %r14, %rax
movq 8(%r11), %r9
cmpq %r9, %rax
jae .LBB8_9
#APP
# let sample_value = sample_value as float; (blur.rs:47:20: 47:60)
#NO_APP
#APP
# let weight = filter[yy][xx]; (blur.rs:48:20: 48:47)
#NO_APP
movq (%r8), %r8
leaq (,%r8,8), %rcx
leaq (%rcx,%rcx,2), %rcx
cmpq $71, %rcx
ja .LBB8_10
leaq (,%r10,8), %rcx
cmpq $23, %rcx
ja .LBB8_7
movq 40(%rsi), %rdx
movq 88(%rsi), %rcx
movq (%r11), %rsi
movzbl (%rsi,%rax), %eax
cvtsi2sd %eax, %xmm0
leaq (%r8,%r8,2), %rax
leaq (%rdx,%rax,8), %rax
mulsd (%rax,%r10,8), %xmm0
#APP
# new_value += sample_value * weight; (blur.rs:49:20: 49:54)
#NO_APP
addsd (%rcx), %xmm0
movsd %xmm0, (%rcx)
movb $1, (%rdi)
addq $8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
ret
.LBB8_8:
leaq -32(%rbp), %rdi
leaq str2476(%rip), %rdx
leaq str2468(%rip), %rcx
movl $46, %r8d
callq _ZN8unstable4lang5fail_16_f79ba45ac636dce3_06E@PLT
.LBB8_9:
leaq str2468(%rip), %rdx
movl $46, %ecx
movq %rax, %r8
callq _ZN8unstable4lang17fail_bounds_check17_356cbb137d8c63ae3_06E@PLT
.LBB8_10:
leaq str2468(%rip), %rdx
movl $48, %ecx
movl $3, %r9d
callq _ZN8unstable4lang17fail_bounds_check17_356cbb137d8c63ae3_06E@PLT
.LBB8_7:
leaq str2468(%rip), %rdx
movl $48, %ecx
movq %r10, %r8
movl $3, %r9d
callq _ZN8unstable4lang17fail_bounds_check17_356cbb137d8c63ae3_06E@PLT
.Ltmp45:
.size _ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E, .Ltmp45-_ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E
.cfi_endproc
.align 16, 0x90
.type _ZN3vec14push_slow_251317_b46d19b851bd67783_00E,@function
_ZN3vec14push_slow_251317_b46d19b851bd67783_00E:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB9_2
movabsq $24, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB9_2:
pushq %rbp
.Ltmp49:
.cfi_def_cfa_offset 16
.Ltmp50:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp51:
.cfi_def_cfa_register %rbp
pushq %r14
pushq %rbx
.Ltmp52:
.cfi_offset %rbx, -32
.Ltmp53:
.cfi_offset %r14, -24
movl %esi, %ebx
movq %rdi, %r14
#APP
# let new_len = v.len() + 1; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# non_gc_box_cast
#NO_APP
movq (%r14), %rax
movq 32(%rax), %rcx
movq %rcx, %rax
shrq %rax
orq %rcx, %rax
movq %rax, %rcx
shrq $2, %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $4, %rax
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
orq %rcx, %rax
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# reserve_at_least(&mut *v, new_len); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# reserve(v, uint::next_power_of_two(n)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let halfbits: uint = sys::size_of::<uint>() * 4u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let mut tmp: uint = n - 1u; (blur.rs:1:0: 1:0)
#NO_APP
movq %rax, %rcx
shrq $8, %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $16, %rax
orq %rcx, %rax
movq %rax, %r8
shrq $32, %r8
orq %rax, %r8
#APP
# let mut shift: uint = 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# while shift <= halfbits { tmp |= tmp >> shift; shift <<= 1u; } (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
incq %r8
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# tmp |= tmp >> shift; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# shift <<= 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# return tmp + 1u; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let repr: **raw::VecRepr = ::cast::transmute(v); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let newthing: G = reinterpret_cast(&thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# rusti::forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
movq (%r14), %rax
cmpq %r8, 40(%rax)
jae .LBB9_6
#APP
# let ptr: **raw::VecRepr = cast::transmute(v); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let newthing: G = reinterpret_cast(&thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# rusti::forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let td = sys::get_type_desc::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
movq (%r14), %rax
movq (%rax), %rax
movq _ZN7managed3raw17RC_MANAGED_UNIQUE17_32fce7775da7663a3_06E@GOTPCREL(%rip), %rcx
cmpq (%rcx), %rax
jne .LBB9_5
#APP
# rustrt::vec_reserve_shared_actual(td, ptr, n as size_t); (blur.rs:1:0: 1:0)
#NO_APP
leaq tydesc_2399(%rip), %rdx
movq %r14, %rcx
callq _ZN3vec6rustrt25vec_reserve_shared_actual17_fb17ccca7810ceb13_06E@PLT
jmp .LBB9_6
.LBB9_5:
#APP
# rustrt::vec_reserve_shared(td, ptr, n as size_t); (blur.rs:1:0: 1:0)
#NO_APP
leaq tydesc_2399(%rip), %rdx
movq %r14, %rcx
callq _ZN3vec6rustrt18vec_reserve_shared17_fb17ccca7810ceb13_06E@PLT
.LBB9_6:
#APP
# let repr: **raw::VecRepr = ::cast::transmute(v); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let newthing: G = reinterpret_cast(&thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# rusti::forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let fill = (**repr).unboxed.fill; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# (**repr).unboxed.fill += sys::nonzero_size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
movq (%r14), %rax
movq 32(%rax), %rax
movq (%r14), %rcx
incq 32(%rcx)
#APP
# let p = addr_of(&((**repr).unboxed.data)); (blur.rs:1:0: 1:0)
#NO_APP
movq (%r14), %rcx
movb %bl, 48(%rcx,%rax)
popq %rbx
popq %r14
popq %rbp
ret
.Ltmp54:
.size _ZN3vec14push_slow_251317_b46d19b851bd67783_00E, .Ltmp54-_ZN3vec14push_slow_251317_b46d19b851bd67783_00E
.cfi_endproc
.globl blur
.align 16, 0x90
.type blur,@function
blur:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB10_2
movabsq $40, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB10_2:
pushq %rbp
.Ltmp57:
.cfi_def_cfa_offset 16
.Ltmp58:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp59:
.cfi_def_cfa_register %rbp
subq $32, %rsp
movl %edi, -32(%rbp)
movl %esi, -28(%rbp)
movq %rdx, -24(%rbp)
leaq -8(%rbp), %rax
movq %rax, -16(%rbp)
leaq -32(%rbp), %rdi
leaq _ZN4blur17__rust_stack_shimE(%rip), %rsi
callq upcall_call_shim_on_rust_stack@PLT
addq $32, %rsp
popq %rbp
ret
.Ltmp60:
.size blur, .Ltmp60-blur
.cfi_endproc
.align 16, 0x90
.type _ZN4blur17__rust_stack_shimE,@function
_ZN4blur17__rust_stack_shimE:
.cfi_startproc
.cfi_personality 155, DW.ref.upcall_rust_personality
.Leh_func_begin11:
.cfi_lsda 27, .Lexception11
leaq -392(%rsp), %r11
cmpq %fs:112, %r11
ja .LBB11_2
movabsq $392, %r10
movabsq $0, %r11
callq __morestack
ret
.LBB11_2:
pushq %rbp
.Ltmp77:
.cfi_def_cfa_offset 16
.Ltmp78:
.cfi_offset %rbp, -16
movq %rsp, %rbp
.Ltmp79:
.cfi_def_cfa_register %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $344, %rsp
.Ltmp80:
.cfi_offset %rbx, -56
.Ltmp81:
.cfi_offset %r12, -48
.Ltmp82:
.cfi_offset %r13, -40
.Ltmp83:
.cfi_offset %r14, -32
.Ltmp84:
.cfi_offset %r15, -24
movl 4(%rdi), %eax
movl (%rdi), %ebx
movq 8(%rdi), %rcx
movq %rcx, -368(%rbp)
#APP
# let out_data = blur_rust(width, height, data); (blur.rs:66:12: 66:57)
#NO_APP
movq %rcx, -336(%rbp)
movq %rax, %rcx
imulq %rbx, %rcx
movq %rcx, -376(%rbp)
movq %rcx, -328(%rbp)
movabsq $4603750675883961090, %r8
movabsq $4590717258562350875, %rcx
movabsq $4577494690056391098, %rsi
leaq -320(%rbp), %rdi
leaq tydesc_2387(%rip), %rdx
movq %rbx, -224(%rbp)
movq %rax, -232(%rbp)
#APP
# let filter =
# [[0.011, 0.084, 0.011], [0.084, 0.619, 0.084], [0.011, 0.084, 0.011]]; (blur.rs:33:4: 35:40)
#NO_APP
movq %rsi, -304(%rbp)
movq %rcx, -296(%rbp)
movq %rsi, -288(%rbp)
movq %rcx, -280(%rbp)
movq %r8, -272(%rbp)
movq %rcx, -264(%rbp)
movq %rsi, -256(%rbp)
movq %rcx, -248(%rbp)
movq %rsi, -240(%rbp)
#APP
# let mut newdata = ~[]; (blur.rs:37:4: 37:25)
#NO_APP
movl $20, %ecx
callq _ZN8unstable4lang15exchange_malloc16_63f842b316661113_06E@PLT
movq -320(%rbp), %rax
movq $0, 32(%rax)
movq $4, 40(%rax)
#APP
# non_gc_box_cast
#NO_APP
movq %rax, -312(%rbp)
#APP
# for uint::range(0, height) |y| {
# for uint::range(0, width) |x| {
# let mut new_value = 0.0;
# for uint::range(0, filter.len()) |yy| {
# for uint::range(0, filter.len()) |xx| {
# let x_sample = x - (filter.len() - 1) / 2 + xx;
# let y_sample = y - (filter.len() - 1) / 2 + yy;
# let sample_value =
# data[width * (y_sample % height) + (x_sample % width)];
# let sample_value = sample_value as float;
# let weight = filter[yy][xx];
# new_value += sample_value * weight;
# }
# }
# newdata.push(new_value as u8);
# }
# } (blur.rs:39:4: 54:5)
#NO_APP
#APP
# Copy EnvRef(Datum { val=*i64, ty=uint, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*[[Double@ x 3@ x 3, ty=[[float * 3] * 3], mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*{*i8, i64}, ty=&/u8, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*i64, ty=uint, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*addrspace(1)*{i64, *tydesc, *i8, *i8, {i64, i64, [i8@ x 0}}, ty=~[u8], mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# range_step(lo, hi, 1 as T_SIGNED, it); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let mut i = start; (blur.rs:1:0: 1:0)
#NO_APP
movq -232(%rbp), %rax
movq %rax, -360(%rbp)
#APP
# if step == 0 {
# ::core::sys::begin_unwind(~"range_step called with step == 0",
# "/home/brian/dev/rust/src/libcore/num/uint-template.rs".to_owned(),
# 76u);
# } (blur.rs:1:0: 1:0)
#NO_APP
testq %rax, %rax
je .LBB11_16
xorl %eax, %eax
#APP
# if !it(i) { break } (blur.rs:1:0: 1:0)
#NO_APP
#APP
# Copy EnvRef(Datum { val=*[[Double@ x 3@ x 3, ty=[[float * 3] * 3], mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*i64, ty=uint, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*{*i8, i64}, ty=&/u8, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*addrspace(1)*{i64, *tydesc, *i8, *i8, {i64, i64, [i8@ x 0}}, ty=~[u8], mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# range_step(lo, hi, 1 as T_SIGNED, it); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let mut i = start; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# if step == 0 {
# ::core::sys::begin_unwind(~"range_step called with step == 0",
# "/home/brian/dev/rust/src/libcore/num/uint-template.rs".to_owned(),
# 76u);
# } (blur.rs:1:0: 1:0)
#NO_APP
#APP
# i += step as T; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let mut new_value = 0.0; (blur.rs:41:12: 41:35)
#NO_APP
#APP
# for uint::range(0, filter.len()) |yy| {
# for uint::range(0, filter.len()) |xx| {
# let x_sample = x - (filter.len() - 1) / 2 + xx;
# let y_sample = y - (filter.len() - 1) / 2 + yy;
# let sample_value =
# data[width * (y_sample % height) + (x_sample % width)];
# let sample_value = sample_value as float;
# let weight = filter[yy][xx];
# new_value += sample_value * weight;
# }
# } (blur.rs:42:12: 51:13)
#NO_APP
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# Copy EnvRef(Datum { val=*Double, ty=float, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
leaq -216(%rbp), %r13
leaq -81(%rbp), %r12
leaq -192(%rbp), %rbx
#APP
# newdata.push(new_value as u8); (blur.rs:52:12: 52:42)
#NO_APP
#APP
# push(self, t); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let repr: **raw::VecRepr = ::cast::transmute(&mut *v); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let newthing: G = reinterpret_cast(&thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# rusti::forget(thing); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let fill = (**repr).unboxed.fill; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# push_fast(v, initval); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let repr: **raw::VecRepr = ::cast::transmute(v); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# (**repr).unboxed.fill += sys::nonzero_size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let p = addr_of(&((**repr).unboxed.data)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# push_slow(v, initval); (blur.rs:1:0: 1:0)
#NO_APP
.LBB11_4:
movq %rax, -352(%rbp)
movq %rax, -216(%rbp)
movq -224(%rbp), %rax
movq %rax, -344(%rbp)
testq %rax, %rax
movl $0, %r15d
je .LBB11_15
.align 16, 0x90
.LBB11_5:
movq %r15, -200(%rbp)
movq $0, -208(%rbp)
xorl %r14d, %r14d
.align 16, 0x90
.LBB11_6:
movq %r14, -96(%rbp)
movq $305419896, -192(%rbp)
leaq -200(%rbp), %rax
movq %rax, -160(%rbp)
leaq -304(%rbp), %rax
movq %rax, -152(%rbp)
movq %r13, -144(%rbp)
leaq -96(%rbp), %rax
movq %rax, -136(%rbp)
leaq -336(%rbp), %rax
movq %rax, -128(%rbp)
leaq -224(%rbp), %rax
movq %rax, -120(%rbp)
leaq -232(%rbp), %rax
movq %rax, -112(%rbp)
leaq -208(%rbp), %rax
movq %rax, -104(%rbp)
.Ltmp61:
movq %r12, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq _ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E
.Ltmp62:
cmpb $0, -81(%rbp)
je .LBB11_10
.Ltmp63:
movq %r12, %rdi
movq %rbx, %rsi
movl $1, %edx
callq _ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E
.Ltmp64:
cmpb $0, -81(%rbp)
je .LBB11_10
.Ltmp65:
movq %r12, %rdi
movq %rbx, %rsi
movl $2, %edx
callq _ZN9blur_rust4anon4anon4anon4anon12expr_fn_2473E
.Ltmp66:
cmpb $0, -81(%rbp)
.LBB11_10:
incq %r14
cmpq $3, %r14
jne .LBB11_6
cvttsd2si -208(%rbp), %eax
movq -312(%rbp), %rcx
movq 40(%rcx), %rdx
cmpq 32(%rcx), %rdx
jbe .LBB11_13
movq -312(%rbp), %rcx
movq 32(%rcx), %rcx
movq -312(%rbp), %rdx
incq 32(%rdx)
movq -312(%rbp), %rdx
movb %al, 48(%rdx,%rcx)
jmp .LBB11_14
.align 16, 0x90
.LBB11_13:
.Ltmp68:
movzbl %al, %esi
leaq -312(%rbp), %rdi
callq _ZN3vec14push_slow_251317_b46d19b851bd67783_00E
.Ltmp69:
.LBB11_14:
incq %r15
cmpq -344(%rbp), %r15
jne .LBB11_5
.align 16, 0x90
.LBB11_15:
movq -352(%rbp), %rax
incq %rax
cmpq -360(%rbp), %rax
jb .LBB11_4
.LBB11_16:
#APP
# return newdata; (blur.rs:56:4: 56:18)
#NO_APP
movq -312(%rbp), %rbx
#APP
# vec::raw::copy_memory(data, out_data, width * height); (blur.rs:67:12: 67:66)
#NO_APP
#APP
# non_gc_box_cast
#NO_APP
movq 32(%rbx), %rax
#APP
# if !dst.len() >= count {
# ::core::sys::fail_assert("dst.len() >= count",
# "/home/brian/dev/rust/src/libcore/vec.rs", 2212u)
# }; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
movq -376(%rbp), %rdx
cmpq %rdx, %rax
#APP
# if !src.len() >= count {
# ::core::sys::fail_assert("src.len() >= count",
# "/home/brian/dev/rust/src/libcore/vec.rs", 2213u)
# }; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
jb .LBB11_17
leaq 32(%rbx), %rsi
#APP
# Copy EnvRef(Datum { val=*{*i8, i64}, ty=&/const u8, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*i64, ty=uint, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# let v: *(*mut T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# Copy EnvRef(Datum { val=**i8, ty=*mut u8, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
#APP
# Copy EnvRef(Datum { val=*i64, ty=uint, mode=ByRef, source=ZeroMem }) into closure
#NO_APP
addq $16, %rsi
#APP
# let v: *(*const T, uint) = ::cast::reinterpret_cast(&addr_of(&s)); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let (buf, len) = *v; (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let s = size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# let n = count * sys::size_of::<T>(); (blur.rs:1:0: 1:0)
#NO_APP
#APP
# memmove64(dst as *mut u8, src as *u8, n as u64); (blur.rs:1:0: 1:0)
#NO_APP
movq -368(%rbp), %rdi
callq memmove@PLT
testq %rbx, %rbx
je .LBB11_29
movq %rbx, %rdx
callq _ZN8unstable4lang13exchange_free17_bea361ae477736593_06E@PLT
.LBB11_29:
addq $344, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
ret
.LBB11_20:
.Ltmp67:
jmp .LBB11_22
.LBB11_21:
.Ltmp70:
.LBB11_22:
movq %rax, %r14
callq upcall_reset_stack_limit@PLT
movq -312(%rbp), %rdx
testq %rdx, %rdx
je .LBB11_24
jmp .LBB11_23
.LBB11_17:
leaq str2570(%rip), %rax
movq %rax, -64(%rbp)
movq $19, -56(%rbp)
leaq str2568(%rip), %rax
movq %rax, -80(%rbp)
movq $40, -72(%rbp)
.Ltmp71:
leaq -48(%rbp), %rdi
leaq -64(%rbp), %rdx
leaq -80(%rbp), %rcx
movl $2213, %r8d
callq _ZN3sys11fail_assert15_7ab993b54e9a433_06E@PLT
.Ltmp72:
.LBB11_25:
.Ltmp73:
movq %rax, %r14
callq upcall_reset_stack_limit@PLT
testq %rbx, %rbx
je .LBB11_24
movq %rbx, %rdx
.LBB11_23:
callq _ZN8unstable4lang13exchange_free17_bea361ae477736593_06E@PLT
.LBB11_24:
movq %r14, %rdi
callq _Unwind_Resume@PLT
.Ltmp85:
.size _ZN4blur17__rust_stack_shimE, .Ltmp85-_ZN4blur17__rust_stack_shimE
.cfi_endproc
.Leh_func_end11:
.section .gcc_except_table,"a",@progbits
.align 4
GCC_except_table11:
.Lexception11:
.byte 255
.byte 155
.asciz "\320"
.byte 3
.byte 78
.Lset0 = .Leh_func_begin11-.Leh_func_begin11
.long .Lset0
.Lset1 = .Ltmp61-.Leh_func_begin11
.long .Lset1
.long 0
.byte 0
.Lset2 = .Ltmp61-.Leh_func_begin11
.long .Lset2
.Lset3 = .Ltmp66-.Ltmp61
.long .Lset3
.Lset4 = .Ltmp67-.Leh_func_begin11
.long .Lset4
.byte 0
.Lset5 = .Ltmp68-.Leh_func_begin11
.long .Lset5
.Lset6 = .Ltmp69-.Ltmp68
.long .Lset6
.Lset7 = .Ltmp70-.Leh_func_begin11
.long .Lset7
.byte 0
.Lset8 = .Ltmp69-.Leh_func_begin11
.long .Lset8
.Lset9 = .Ltmp71-.Ltmp69
.long .Lset9
.long 0
.byte 0
.Lset10 = .Ltmp71-.Leh_func_begin11
.long .Lset10
.Lset11 = .Ltmp72-.Ltmp71
.long .Lset11
.Lset12 = .Ltmp73-.Leh_func_begin11
.long .Lset12
.byte 0
.Lset13 = .Ltmp72-.Leh_func_begin11
.long .Lset13
.Lset14 = .Leh_func_end11-.Ltmp72
.long .Lset14
.long 0
.byte 0
.align 4
.type _rust_crate_map_blur_0.0_68a2c114141ca,@object
.section .data.rel,"aw",@progbits
.globl _rust_crate_map_blur_0.0_68a2c114141ca
.align 16
_rust_crate_map_blur_0.0_68a2c114141ca:
.long 1
.zero 4
.quad _ZN7cleanup10annihilate16_826321676dae5533_06E
.quad _rust_mod_map
.quad _rust_crate_map_core_0.6_c3ca5d77d81b46c1
.quad 0
.size _rust_crate_map_blur_0.0_68a2c114141ca, 40
.type tydesc_2387,@object
.section .data.rel.ro.local,"aw",@progbits
.align 16
tydesc_2387:
.quad 16
.quad 0+8
.quad glue_take_2391
.quad glue_drop_2393
.quad glue_free_2395
.quad glue_visit_2397
.quad 0
.quad 0
.size tydesc_2387, 64
.type tydesc_2399,@object
.align 16
tydesc_2399:
.quad 1
.quad 0+1
.quad glue_take_2391
.quad glue_drop_2393
.quad glue_free_2395
.quad glue_visit_2401
.quad 0
.quad 0
.size tydesc_2399, 64
.type str2468,@object
.section .rodata,"a",@progbits
str2468:
.asciz "blur.rs"
.size str2468, 8
.type str2476,@object
str2476:
.asciz "modulo zero"
.size str2476, 12
.type str2568,@object
.align 16
str2568:
.asciz "/home/brian/dev/rust/src/libcore/vec.rs"
.size str2568, 40
.type str2570,@object
.align 16
str2570:
.asciz "src.len() >= count"
.size str2570, 19
.type _rust_mod_map,@object
.local _rust_mod_map
.comm _rust_mod_map,16,8
.type rust_abi_version,@object
.globl rust_abi_version
.align 8
rust_abi_version:
.quad 1
.size rust_abi_version, 8
.type rust_metadata,@object
.section .note.rustc,"aw",@progbits
.align 16
rust_metadata:
.ascii "rust\000\000\000\001\355\232\013t\024\325\031\3077a\001\201\f\004\021E\024[\rE3\263\273\331\331\3543H\353\013T\024\361\201\366X\212q\331lp5l\342&K\325R\353c\021!\370D+\266\266\305\267\025\213\242\210(\026\221\207o\005\037\250\250U[\373\260Z[k[[\333\332\366w\357\274v\223l2p\360\034K\325\363\233\314\356\275\337\275\337\334\373\237;\227\375\317\035\325\036\217\022\215'C)]\017\363\177*y#\337$o\342\260\357\022\016{]\317ap*\227\354H7v\234\333\226^\312\307~-\231\231\242\302\370[8DE\005oK&{\226\250\276\273\374\224M\316\226\025\2753[\3629\361\365p\371\365\234t\256]\306\007\003\301[\371\253\335\306a\334\235\242(\325\232K\337e\024E\227\361\267:U\237JF\232b\261\246\270>3\034M\351\037\361\245\347\023q\270\250\332\023\332ti\265\247v\344\002>6\317\2778\330\020\\\310Y\305\354\302\005\353\370\273\333\243\005jU\254\277\340Y\321\361s\242Q\275!\270\331\352E|\273\267\370v@\260A\327uY0(\223\355\310e\262\355\231\224(\035!J\373\007\033\302zb\263u\021t5p\353\374y|\031\321eg\315\235\342\030X$\352O\312\344\246\317P\223\323)\215\006\347f\263\323g\314\020\211\214\221\211T\256_`\267\276a\341\254t\007\303\330\224nO\211a\366l\241\331\363\347]\352\221\377U,\267\3176>_\355\351w\303\025\034\256\273R4\342\271\212\323E\235E\341W\213+X,\313\354\250\r\"\340\024\031P!\002\216\351\251\322\n*y\362\262\322\000*y\316\264K\356\021%\307\310\222!\242\344\220\205\027zD\013#d\013\025\327\210\261\355\274d\332\271G\320\275\250:\304N\315\343\351\251\247\273\235J\025\262R\371\317\225]>{\354\317q\247\276_tr\220\223\314\230\316\013\2479c\327KFE\247\324\252\034m7Y9\314\216\177\304>[G\235\212\217e\235j\352T\274_\266\245\212UvK\025\313\354\3705\366\331\303\242\316\325\262\316n\242\316|\273d\225}\366\200\310\373=g\020\336\262KV\332g\367\213:\313d\235\275D\235\245\346\304\324\310L*\305X\f\354\234\227\313\267wd\304yU\261Nz\032\226\323\2351<\331\356\344>Qs\2223\373\343\315N\206:\225\3731\340n&\376\336\322a*\251oWz\250\254\016\037\334\311:\\\335Uwv\311\332\262%\353{\322b\361\347\027\271\2776\276\"V\311\227\354\333o\253XK\257\025\351\325\350\341p\203^_\263\215\017\243K+\f)J\3615N\017+-\256\027\305\303\235+\035p\255\\g\272v_\322\313\347$\215\227\371Pk7\263\\43Z\004\214\224\001\303E\300`g\255z]\224\224\3266;\021\355\324\333%w\213\222\261\242\235/\311v\006\213v\366\260\332)\232\262g\3040\354S\032W%Z\034H\202\311\206\246\235\226_i?\353K\372I4\244kJ\313\037\351\243|m\037\345kz,\337\323._%\312\007\212\362J5+.\361p\273h\245(\n\213K\254s\346ll\367\241\363\036\325\365>(Ma\245\223\302\244\274x\324e_\345\334WZ>F(f\224\243\030C\201m<\023\353\203s\203\"\261\tv\300\275\"@\212\251VvZ%:\335\257\2079]~\201\375]\251*V\357\240*VwS\305\002\271\326\211\211=\256Ph\317\234\227\026\217\356\275\272?\272e\231x\334W\3447\211c\322\330\r\204E\374\0043~^\262%3++\032\030\325\275\001\243\260{\0131Z\030t\275<\217\032\033\231\223\026\025\345W0W:\321\352\336\335[5K7\212\365\261\370*\314\354\304\367{\224dgv\312x\r\032\313\224\365\037\275XL\370\027\207/\016\273\344A\221\333\005\266\370\025\334\003\217\355\232\327\270S\306\347P\306\347\311]\363\032w\364\300c\302\313\237\301\2250\020\252`8\354\t\373\300\227\341+\240B\035\204!\001_\205\303\341(\230\002'\302\327\341\233\220\204f8\013\332 \017\347\301w\201\305}\360\002\270\034\026\303\022\370!\334\004\267\303]\260\002V\301\032X\007\233\340)\330\f/\3016x\023\336\201w\341\003\370\b\376\006\377\342!\317m0d\000\f\001\256q\310H\030\r_\202\261P\013\001\250\2078L\200\303\340H8\026N\200S`:\234\016i8\023Z\241\003\316\205\363\341b\340\241;\3442\261\325\204\353\340\006\270\021n\203ep\017\334\017\017\301#\260\021\236\204\347\340Ex\025~\016\277\204\337\302\357\341O\3601\374\223\3078sS\325\037\006\3030\330\003\366\206\375\240\006\016\002?\204 \006\007\0032\257\232\004\307\300\361p2|\003\032\241\t2\220\205v8\007\276\003\027\301|X$v*\360=\370\001,\205[\341N\270\033V\302\203\260\0266\300\023\360,\274\000\257\300\033\360\007\3703\374\035>\345\366C[\n\332R\270\030\005m)hKA[\n\332R\320\226\202\266\024\264\245\240-\005m)hKA[\n\332R\320\226\202\266\024\264\245\240-\005m)hKA[\n\332R\320\226\202\266\024\264\245\240-\005m)hKA[\n\332R\320\226\202\266\024\264\245\240-\005m)hKA[\n\332R\320\226\202\266\024\264\245\240-\005m)hKA[\n\332R\320\226\202\266\024\264\245\240\255\241Ca\004\214\2021p\000\034\b>\320!\n\343\341\020\230\b\223a*L\203S\3414H\301\0310\033r\360-\230\013\027\302%\320\tW\302\265\360}\3701\334\002?\201\345p\037\254\206\237\301zx\034\236\201\347\341ex\035\336\206_\303{\360G\370\013|\002\377\366x\206\365\003\226\303a\n\354\016{\261;\033\272\337\374K\370\261(\030O\310\235\324\321b{V}\316t\343+\371{O\335!3\n\013\246\235{J\246=\323\321\232\223?\355\254\340\0204vu\365\205\005sDI\343\314\326\016\021;@\376`4\323\370\035\351i\216\225\3432\037\212\017\271\242\240\250\025\224\315\264\364\035\244\033A\211\302B\253\247\326\026\267]\305BVWl+\373\016\2523\202\"\205K\315\240\270\353\216\342vGz\324mP\\\267\203\352C\256\203\302vP4\354v\364\3421k\364\362\3331\020\211\2405\020y\327\003\221\260\025\221w?\020\t[\021y\367\003\221H\330An\006\"$\202\"\301P\241\323\bjniM\272\225l$\030\261\372jv\235`$hk\242\331\365LEt\335\232\251\324\031\311\234\333\256t[\024\355\035.\202\"FP\254p\271\021\224&\212\373\352\234\276#\24322\024,\\Q\024\231\317f\316\356;4f\204\326\027\256,\nmo\311\244\322}\307N\220\261a\275$\2669sN\272I\304V\211X-/\376/\333B\203l!\022q\326+y\265\325f\250\371\373C\331\360\260\fw\026!\353\222\007\325\350\361P\204\325\262\246L`\275\f\214\333wE\2331?}\306\031\035&\354\3736\3476Pv\030\325\355\245eN:\345*n\274\214\013E\nWYW\310\020\245\233\\\307\307e|}\302\326\024\201\326(\367\031\234\220\301\221z[V\"\330\365\030\313\271\215Fc\266:D\264\255\254>\303\217\224\341\254A\305\341\266\270\366t\304\345B'r\024b\334\216\326\205d;\322\271\306\2341\206\374\234\030K'\033R\345\022\231,\203\031B38'\363H\267\310<F\233y\314\251\03373\031\234\353:\227H\314j\256%\235\234\223v\233\213\034\323X\314\226\203q!\251\226d{\273\233p\251\246x0h\205\313@\347b\230\223d\252\271AO\366\332}\\\217[\361F\356\256\273\227\227\036\257\217\226NCG\276\315M\260\024c<b\257q\204\225d\356\342>\210G\343\245\243\276]]\307\035)\312\274\323\331\374l7\321SDtB\017\026\226t\215n\234\223\314e\222\306\223\177\017SH\031GLe%t\230l1\024vZt\332\332\21611\232\t\307\255f\2141\351\232\030\3154\351\361\006=\334\353\350$\242\366\3508\315\270\031\035\371\fI\304\235\005J\216N\263\374\331rh\361M\336\313h\310\2752\317u\263\211\346,\373\312\266\274\314~w\273\211\276\356\313\006\243\231P\310\222\b\315\264\346;\314v\\\bL\206\207#V\026\3060\030\027\302 \244C)z/\373t0\202\343\3266\250#\227\314\270\330\006\351F\\\304y\254\270\331\234\230W\032\t\027\256\266\243\304N<=+\227t\261\207\217\030\341Q{\317\326\226\314%\215\2716\006\273\227\315\236\021\031\261\036\237\355\351\226f7{D#,n\205\211\327\002\372\0163g$foOZ\333\222g\347\323\356vT\007\233\377\000\013\026\026\231Kek\326\334\304\031\252\354KN\343\315\006\342\316Z\333\332\236\317\245\255\255Foc%~y\337\267\373/\357\316\277\367\370'b\345\201F\007\211h\327\267\003,\313d\013\006\3606\333q\231h\237\035\375<\005\212p\212ws\\\340O\313X\375\302\360x\334\361r\036\356\301\356\364\036)*E\034cU\265K&\22575?s\203\336;\261\234\023\\\354>UZ\336\252gy\211o\343=\252\233\005%L\313CK\313C\356MK\253\225\022O\320;\261WO\320{T\211'h\3246\373\020\032\031+5\322\257H#\353\rS\276\370\265\017\264\342m\224Z\341^0\264\"T2J\344Sc\252xB\215^_\237\020\253\333\f!\033\257\327\021\213}6\r\331Tn\025\2573l\261G\256rS\347\"\353\226\354.\234\312\313\3541\250\274\210\242J\347\365\201\2121\342\232\367q\306\250\272\253\022\260\340\355\256\217-\347\334{\217\331\271\316\275wr9\177\336{\264(\231\341\224\234\330\2659\263\347aN\317\336\316\213:\232z\351\265\254>\247\210\350\217\313\217\220\247\333\b\035/\n\217s\306\341p3\233=\235l\206t:\353\207\233\241\230j\237\035\267c\227>gG.\375\004\373\354D\367kG\371\265\242\307>N\352\341\366\257\030.n\3771\366\255v\222\270\325\206\212[mPM\250>\316\376'^#\026\200xi\215\332^\256\2514\270\304M\366N\33617\331\210\353\366\216\201\323\356T\227\355z\017-\275\334\251E\227k-\005b\205\031Wv\205)\271\357\205%=\305\\c\342r\215\311\026\256hlln\315\2451\200\033g\267656\212\346j\3136\327\265\266h1g\266\2300_\2663\252\366lv\233\355\210\267\351F[\357\332\361l\334,\226Sg-\024\305\373\332\257\342\005c\242\270\252\353\205\2543\272\325\255w\374\234ND\327\303\315\227\375\026\224\274\3017\322z\203/*_\357\033`\2548%o\376\361\313\255|\363\317\276\t\355\322\376\362%\277\036R\035\351\244*c\373\333\327\330\347E\234)\177\214\323\215\241\223\233\245\375'\245\330p\034\2407\350\241x,\034\232;\245E\253\t%bi\266\346\232:{\312\314\031\3625\202*\343\3626\024\304;\210\342g\345Q\342\275\313\0217\013y\210W*\007e[\033g'\263\263Z\322\227U\233o*\nc\3776a\354\337\320\335\343\273XHx\227\262\350\376\037\017\326t\216\330_\254\034;\241!\317\303\236\317$\301\2030\230\274\247|\016G\256\354\313\000V\205\2326\361H\331\361\013\037G\370\311\345j\2156k\035\370\222\330\307\231\037jg\222\322\315\237\243\261\332\3561-}\201\300\372z\377#\304\306\271\333\327\025\007\212e\355\177\360rw\322\301|\265\240\026;\262\366m\300F\255\305F\255\305FU\021\247\212E\257b\321\253\324U\261\350U,z\025\213^\035\013X\364*\026\275\212E\257b\321\253X\364*\026\275\212E\257b\321\253X\364*\026\275\212E\257\236\016X\364*\026\275\212E\257b\321\253X\364*\026\275\312\323@e\307\241b\321\253X\364*\026\275\212E\257b\321\253X\364*\026\275z\017`\321\253X\364*\026\275\272\021\260\350U,z\025\213^\305\242W\261\350U,z\025\213^\305\242W\261\350U,z\025\213^\343\0325,z\r\213^\303\242\327\260\3505,z\r\213^\303\242\327\016\002,z\r\213^\303\242\327\260\3505\204\244a\321kX\364\332\361\200E\257a\321kX\364Z\023`\321kX\364\032\026\275\206E\257a\321kX\364\032\026\275\206E\257a\321kX\364\032\026\275\266\024\260\3505,z\r\213^{\024\036\203\247a\013l\205\327\340-\370\025\374\016\260\3505,z\r\213\336G\336>\362\366\221\267\217\274}\344\355#o\037y\373\310\333G\336>\362\366\221\267\217\274}\344\355#o\037y\373\270\243}\263\240\005\316\2069\360m\270\000\346\301B\270\002\256\201\353\341Gp3\334\001?\205{\341\001`u\366\221\267\217\274}\344\355#o\037y\373\310\333G\336>\362\366\221\267\217\361&%\217\237\361\366\223\267\177_\340\021\341g1\3623\021\376 D\240\001\276\006\334\231\376\243\001\235\370\321\211\037\235\370\321\211\037\235\370/\207\305\260\004X\305\3757\301\355p\027\254\200U\260\006\326\301&x\n6\003K\232\177\033\274\t\357\300\273\360\001\240o?\372\366\243\357\000\372\016\240\357\000\372\016\240\357\000\372\016\240\357\000\372\016\240\357\000\372\016\240\357\000\372\016\240\357\000\372\016L\205i\320\fg\001s\036`\316\003\314y\2009\0170\347\001\346<\300\234\007\230\363\000s\036`\316\003\314y`%<\bka\003<\001\317\302\013\360\n\274\001\277\200\337\300\373\360!\374\025\376\001\377\301\346\345F\255\033\004Ca\004\214\2021p\000\260\214\325\371@\207(\214\207C`\"L\006\362\256#\357\272S\3414H\301\0310\033rL\226\347\277"
.size rust_metadata, 3703
.hidden DW.ref.upcall_rust_personality
.weak DW.ref.upcall_rust_personality
.section .data.DW.ref.upcall_rust_personality,"aGw",@progbits,DW.ref.upcall_rust_personality,comdat
.align 8
.type DW.ref.upcall_rust_personality,@object
.size DW.ref.upcall_rust_personality, 8
DW.ref.upcall_rust_personality:
.quad upcall_rust_personality
.section ".note.GNU-stack","",@progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment