View difference between Paste ID: pC5qeUyW and WnG0M00T
SHOW: | | - or go back to the newest paste.
1-
var canBeNil: String? = nil
1+
2-
2+
0x100179fa0:  pushq  %rbp
3-
println("line 3")
3+
0x100179fa1:  movq   %rsp, %rbp
4-
4+
0x100179fa4:  subq   $0xb0, %rsp
5-
if let _ = canBeNil {
5+
0x100179fab:  movq   $0x0, -0x18(%rbp)
6-
    println("canBeNil isn't nil")
6+
0x100179fb3:  movq   $0x0, -0x20(%rbp)
7-
}
7+
0x100179fbb:  movq   $0x0, -0x10(%rbp)
8-
8+
0x100179fc3:  movb   $0x1, -0x8(%rbp)
9-
println("line 9")
9+
0x100179fc7:  movq   -0x10(%rbp), %rax
10-
10+
0x100179fcb:  movq   -0x20(%rbp), %rcx
11
0x100179fcf:  movq   -0x18(%rbp), %rdx
12-
0x100179ce0:  pushq  %rbp
12+
0x100179fd3:  movq   %rdx, 0x5fbd6(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 8
13-
0x100179ce1:  movq   %rsp, %rbp
13+
0x100179fda:  movq   %rcx, 0x5fbc7(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String>
14-
0x100179ce4:  subq   $0x150, %rsp
14+
0x100179fe1:  movq   %rax, 0x5fbd0(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 16
15-
0x100179ceb:  movq   $0x0, -0x18(%rbp)
15+
0x100179fe8:  movb   $0x1, 0x5fbd1(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 23
16-
0x100179cf3:  movq   $0x0, -0x20(%rbp)
16+
0x100179fef:  leaq   -0x40(%rbp), %rax
17-
0x100179cfb:  movq   $0x0, -0x10(%rbp)
17+
0x100179ff3:  movb   $0x1, %sil
18-
0x100179d03:  movb   $0x1, -0x8(%rbp)
18+
0x100179ff6:  testb  %sil, %sil
19-
0x100179d07:  movq   -0x10(%rbp), %rax
19+
0x100179ff9:  movq   %rax, -0xa0(%rbp)
20-
0x100179d0b:  movq   -0x20(%rbp), %rcx
20+
0x10017a000:  jne    0x10017a04e               ; top_level_code + 174 at main.swift:3
21-
0x100179d0f:  movq   -0x18(%rbp), %rdx
21+
0x10017a002:  jmp    0x10017a004               ; top_level_code + 100 at main.swift:3
22-
0x100179d13:  movq   %rdx, 0x5fe96(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 8
22+
0x10017a004:  movq   0x5fb9d(%rip), %rax       ; TestSwift.canBeNil : Swift.Optional<Swift.String>
23-
0x100179d1a:  movq   %rcx, 0x5fe87(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String>
23+
0x10017a00b:  movq   -0xa0(%rbp), %rcx
24-
0x100179d21:  movq   %rax, 0x5fe90(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 16
24+
0x10017a012:  movq   %rax, (%rcx)
25-
0x100179d28:  movb   $0x1, 0x5fe91(%rip)       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 23
25+
0x10017a015:  movq   0x5fb94(%rip), %rax       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 8
26-
0x100179d2f:  leaq   0x319da(%rip), %rdi       ; "line 3"
26+
0x10017a01c:  movq   %rax, 0x8(%rcx)
27-
0x100179d36:  movl   $0x6, %esi
27+
0x10017a020:  movq   0x5fb91(%rip), %rax       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 16
28-
0x100179d3b:  movl   $0x1, %edx
28+
0x10017a027:  movq   %rax, %rdi
29-
0x100179d40:  callq  0x100016870               ; Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
29+
0x10017a02a:  movq   %rax, -0xa8(%rbp)
30-
0x100179d45:  movq   %rax, -0x38(%rbp)
30+
0x10017a031:  callq  0x1001a30b0               ; swift_unknownRetain
31-
0x100179d49:  movq   %rdx, -0x30(%rbp)
31+
0x10017a036:  movq   -0xa0(%rbp), %rax
32-
0x100179d4d:  movq   %rcx, -0x28(%rbp)
32+
0x10017a03d:  movq   -0xa8(%rbp), %rcx
33-
0x100179d51:  leaq   0x50158(%rip), %rax       ; direct type metadata for Swift.String
33+
0x10017a044:  movq   %rcx, 0x10(%rax)
34-
0x100179d58:  addq   $0x8, %rax
34+
0x10017a048:  movb   $0x0, -0x28(%rbp)
35-
0x100179d5c:  leaq   -0x38(%rbp), %rdi
35+
0x10017a04c:  jmp    0x10017a07e               ; top_level_code + 222 at main.swift:3
36-
0x100179d60:  movq   %rax, %rsi
36+
0x10017a04e:  movq   0x5fb63(%rip), %rax       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 16
37-
0x100179d63:  callq  0x1000b8850               ; Swift.println <A>(A) -> ()
37+
0x10017a055:  movq   0x5fb4c(%rip), %rcx       ; TestSwift.canBeNil : Swift.Optional<Swift.String>
38-
0x100179d68:  movq   0x5fe49(%rip), %rax       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 16
38+
0x10017a05c:  movq   0x5fb4d(%rip), %rdx       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 8
39-
0x100179d6f:  movq   0x5fe3a(%rip), %rcx       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 8
39+
0x10017a063:  movb   0x5fb56(%rip), %sil       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 24
40-
0x100179d76:  movq   0x5fe2b(%rip), %rdx       ; TestSwift.canBeNil : Swift.Optional<Swift.String>
40+
0x10017a06a:  movq   %rdx, -0x38(%rbp)
41-
0x100179d7d:  movb   0x5fe3c(%rip), %r8b       ; TestSwift.canBeNil : Swift.Optional<Swift.String> + 24
41+
0x10017a06e:  movq   %rcx, -0x40(%rbp)
42-
0x100179d84:  testb  %r8b, %r8b
42+
0x10017a072:  movq   %rax, -0x30(%rbp)
43-
0x100179d87:  movq   %rax, -0xb0(%rbp)
43+
0x10017a076:  andb   $0x1, %sil
44-
0x100179d8e:  movq   %rcx, -0xb8(%rbp)
44+
0x10017a07a:  movb   %sil, -0x28(%rbp)
45-
0x100179d95:  movq   %rdx, -0xc0(%rbp)
45+
0x10017a07e:  leaq   0x4fe2b(%rip), %rax       ; direct type metadata for Swift.String
46-
0x100179d9c:  movb   %r8b, -0xc1(%rbp)
46+
0x10017a085:  addq   $0x8, %rax
47-
0x100179da3:  jne    0x100179db6               ; top_level_code + 214 at main.swift:5
47+
0x10017a08b:  leaq   0x466a6(%rip), %rcx       ; protocol witness table for Swift.String : Swift.Equatable
48-
0x100179da5:  jmp    0x100179da7               ; top_level_code + 199 at main.swift:3
48+
0x10017a092:  leaq   -0x60(%rbp), %rdx
49-
0x100179da7:  movq   -0xb0(%rbp), %rax
49+
0x10017a096:  leaq   -0x40(%rbp), %rsi
50-
0x100179dae:  movq   %rax, %rdi
50+
0x10017a09a:  movq   $0x0, -0x78(%rbp)
51-
0x100179db1:  callq  0x1001a2ff0               ; swift_unknownRetain
51+
0x10017a0a2:  movq   $0x0, -0x80(%rbp)
52-
0x100179db6:  movb   -0xc1(%rbp), %al
52+
0x10017a0aa:  movq   $0x0, -0x70(%rbp)
53-
0x100179dbc:  testb  $0x1, %al
53+
0x10017a0b2:  movb   $0x1, -0x68(%rbp)
54-
0x100179dbe:  jne    0x100179dd1               ; top_level_code + 241 at main.swift:5
54+
0x10017a0b6:  movq   -0x70(%rbp), %rdi
55-
0x100179dc0:  jmp    0x100179dc2               ; top_level_code + 226 at main.swift:5
55+
0x10017a0ba:  movq   -0x80(%rbp), %r8
56-
0x100179dc2:  movq   -0xb0(%rbp), %rax
56+
0x10017a0be:  movq   -0x78(%rbp), %r9
57-
0x100179dc9:  movq   %rax, %rdi
57+
0x10017a0c2:  movb   -0x68(%rbp), %r10b
58-
0x100179dcc:  callq  0x1001a2ff0               ; swift_unknownRetain
58+
0x10017a0c6:  movq   %r9, -0x58(%rbp)
59-
0x100179dd1:  leaq   0x500d8(%rip), %rax       ; direct type metadata for Swift.String
59+
0x10017a0ca:  movq   %r8, -0x60(%rbp)
60-
0x100179dd8:  addq   $0x8, %rax
60+
0x10017a0ce:  movq   %rdi, -0x50(%rbp)
61-
0x100179dde:  leaq   -0x58(%rbp), %rcx
61+
0x10017a0d2:  andb   $0x1, %r10b
62-
0x100179de2:  movq   -0xc0(%rbp), %rdx
62+
0x10017a0d6:  movb   %r10b, -0x48(%rbp)
63-
0x100179de9:  movq   %rdx, -0x58(%rbp)
63+
0x10017a0da:  movq   %rsi, %rdi
64-
0x100179ded:  movq   -0xb8(%rbp), %rsi
64+
0x10017a0dd:  movq   %rdx, %rsi
65-
0x100179df4:  movq   %rsi, -0x50(%rbp)
65+
0x10017a0e0:  movq   %rax, %rdx
66-
0x100179df8:  movq   -0xb0(%rbp), %rdi
66+
0x10017a0e3:  callq  0x100005c60               ; Swift.!= infix <A : Swift.Equatable>(Swift.Optional<A>, Swift.Optional<A>) -> Swift.Bool
67-
0x100179dff:  movq   %rdi, -0x48(%rbp)
67+
0x10017a0e8:  testb  $0x1, %al
68-
0x100179e03:  movb   -0xc1(%rbp), %r8b
68+
0x10017a0ea:  jne    0x10017a0ee               ; top_level_code + 334 at main.swift:3
69-
0x100179e0a:  andb   $0x1, %r8b
69+
0x10017a0ec:  jmp    0x10017a138               ; top_level_code + 408 at main.swift:3
70-
0x100179e0e:  movb   %r8b, -0x40(%rbp)
70+
0x10017a0ee:  leaq   0x316db(%rip), %rdi       ; "canBeNil isn't nil"
71-
0x100179e12:  movq   %rcx, %rdi
71+
0x10017a0f5:  movabsq $0x12, %rsi
72-
0x100179e15:  movq   %rax, %rsi
72+
0x10017a0ff:  movl   $0x1, %edx
73-
0x100179e18:  callq  0x1000070d0               ; Swift.!= infix <A>(Swift.Optional<A>, Swift._OptionalNilComparisonType) -> Swift.Bool
73+
0x10017a104:  callq  0x100016b30               ; Swift.String.init (Swift.String.Type)(_builtinStringLiteral : Builtin.RawPointer, byteSize : Builtin.Word, isASCII : Builtin.Int1) -> Swift.String
74-
0x100179e1d:  testb  $0x1, %al
74+
0x10017a109:  leaq   0x4fda0(%rip), %rsi       ; direct type metadata for Swift.String
75-
0x100179e1f:  jne    0x100179e26               ; top_level_code + 326 at main.swift:9
75+
0x10017a110:  addq   $0x8, %rsi
76-
0x100179e21:  jmp    0x10017a01f               ; top_level_code + 831 at main.swift:5
76+
0x10017a117:  leaq   -0x98(%rbp), %rdi
77-
0x100179e26:  movb   -0xc1(%rbp), %al
77+
0x10017a11e:  movq   %rax, -0x98(%rbp)
78-
0x100179e2c:  testb  $0x1, %al
78+
0x10017a125:  movq   %rdx, -0x90(%rbp)
79-
0x100179e2e:  jne    0x100179e41               ; top_level_code + 353 at main.swift:9
79+
0x10017a12c:  movq   %rcx, -0x88(%rbp)
80-
0x100179e30:  jmp    0x100179e32               ; top_level_code + 338 at main.swift:9
80+
0x10017a133:  callq  0x1000b8b10               ; Swift.println <A>(A) -> ()
81-
0x100179e32:  movq   -0xb0(%rbp), %rax
81+
0x10017a138:  addq   $0xb0, %rsp
82-
0x100179e39:  movq   %rax, %rdi
82+
0x10017a13f:  popq   %rbp
83-
0x100179e3c:  callq  0x1001a2ff0               ; swift_unknownRetain
83+
0x10017a140:  retq