Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created August 23, 2012 20:07
Show Gist options
  • Save nikomatsakis/3440997 to your computer and use it in GitHub Desktop.
Save nikomatsakis/3440997 to your computer and use it in GitHub Desktop.
begin_LIR
1 label () <|@
2 parthreadcontext ([i:2 (=rax)]) t=([i:1 (=rax)]) <|@
0 movegroup () <|@
3 nop () <|@
4 parameter ([x:3 (arg:0)]) <|@
5 parameter ([x:4 (arg:8)]) <|@
6 start () <|@
0 movegroup ()[arg:8 -> =rcx] <|@
7 unbox ([i:5 (=rdx)]) (=rcx) <|@
0 movegroup ()[=rdx -> stack:i3] <|@
8 checkoverrecursed () t=([i:6 (=rbx)]) <|@
9 osipoint () <|@
10 newarray ([o:7 (=rbx)]) <|@
0 movegroup ()[=rbx -> stack:i2] <|@
11 osipoint () <|@
12 elements ([i:8 (=rcx)]) (=rbx) <|@
0 movegroup ()[=rcx -> stack:i1] <|@
0 movegroup ()[=rax -> stack:i4] <|@
13 parwriteguard () (=rax), (=rbx) t=([i:9 (=rax)]) <|@
0 movegroup ()[stack:i3 -> =rax], [stack:i1 -> =rcx] <|@
14 storeelementt () (=rcx), (c), (=rax) <|@
15 parwriteguard () (stack:i4), (stack:i2) t=([i:10 (=rax)]) <|@
0 movegroup ()[stack:i1 -> =rax] <|@
16 setinitializedlength () (=rax), (c) <|@
0 movegroup ()[stack:i2 -> =rax] <|@
17 elements ([i:11 (=rcx)]) (=rax) <|@
0 movegroup ()[=rcx -> stack:i5] <|@
18 parwriteguard () (stack:i4), (=rax) t=([i:12 (=rax)]) <|@
0 movegroup ()[stack:i3 -> =rcx], [stack:i5 -> =rax] <|@
19 storeelementt () (=rax), (c), (=rcx) <|@
20 parwriteguard () (stack:i4), (stack:i2) t=([i:13 (=rax)]) <|@
0 movegroup ()[stack:i5 -> =rax] <|@
21 setinitializedlength () (=rax), (c) <|@
0 movegroup ()[stack:i2 -> =rax] <|@
22 elements ([i:14 (=rcx)]) (=rax) <|@
0 movegroup ()[=rcx -> stack:i6] <|@
23 parwriteguard () (stack:i4), (=rax) t=([i:15 (=rax)]) <|@
0 movegroup ()[stack:i3 -> =rcx], [stack:i6 -> =rax] <|@
24 storeelementt () (=rax), (c), (=rcx) <|@
25 parwriteguard () (stack:i4), (stack:i2) t=([i:16 (=rax)]) <|@
0 movegroup ()[stack:i6 -> =rax] <|@
26 setinitializedlength () (=rax), (c) <|@
0 movegroup ()[stack:i2 -> =rax] <|@
27 box ([x:17 (=rcx)]) (=rax) <|@
0 movegroup () <|@
28 return () (=rcx) <|@
end_LIR
end_block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment