Slide 35
Slide 35 text
~2200 loc
"4XJGUTUBDLPWFSGMPX
4XJGU
var bytes = Int(0
)
func rec()
{
// 32 byte
s
let a
:
(
Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8
,
Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8
,
Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8
,
Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int
8
)
=
(
0,0,0,0,0,0,0,0
,
0,0,0,0,0,0,0,0
,
0,0,0,0,0,0,0,0
,
0,0,0,0,0,0,0,
0
)
bytes += 32 + Int(a.0
)
print ("tuple bytes on stack:\(bytes)"
)
if (bytes < (1 << 20)*8)
{
rec(
)
}
}
rec()
YBTN
_$s15stack_02_tuples3recyyF
:
Lfunc_begin1
:
push rb
p
mov rbp, rs
p
push r1
3
sub rsp, 60
0
xor eax, ea
x
lea rcx, [rbp - 40
]
Ltmp3
:
mov rdi, rc
x
mov esi, ea
x
mov edx, 3
2
mov dword ptr [rbp - 236], ea
x
call _memse
t
Ltmp4
:
lea rcx, [rbp - 96
]
Ltmp5
:
mov rdi, rc
x
mov esi, dword ptr [rbp - 236
]
mov edx, 1
6
call _memse
t
Ltmp6
:
.loc 1 0 0 prologue_en
d
mov byte ptr [rbp - 40],
0
mov byte ptr [rbp - 39],
0
mov byte ptr [rbp - 38],
0
mov byte ptr [rbp - 37],
0
mov byte ptr [rbp - 36],
0
mov byte ptr [rbp - 35], 0