Untitled diff
89 removals
Words removed | 102 |
Total words | 1102 |
Words removed (%) | 9.26 |
209 lines
132 additions
Words added | 310 |
Total words | 1310 |
Words added (%) | 23.66 |
250 lines
; Assembly listing for method System.TimeZoneInfo:ParseTimeZoneIds(System.IO.StreamReader):System.Collections.Generic.List`1[System.String] (FullOpts)
; Assembly listing for method System.TimeZoneInfo:ParseTimeZoneIds(System.IO.StreamReader):System.Collections.Generic.List`1[System.String] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 20 single block inlinees; 8 inlinees without PGO data
; 0 inlinees with PGO data; 22 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T06] ( 5, 8 ) ref -> rbx class-hnd single-def <System.IO.StreamReader>
; V00 arg0 [V00,T08] ( 5, 8 ) ref -> rbx class-hnd single-def <System.IO.StreamReader>
; V01 loc0 [V01,T03] ( 8, 14 ) ref -> r15 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> r15 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V03 loc2 [V03 ] ( 0, 0 ) int -> zero-ref
;* V03 loc2 [V03 ] ( 0, 0 ) int -> zero-ref
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
; V05 loc4 [V05,T05] ( 6, 12 ) ref -> rax class-hnd <System.String>
; V05 loc4 [V05,T07] ( 6, 12 ) ref -> rax class-hnd <System.String>
; V06 loc5 [V06,T02] ( 8, 16 ) int -> [rbp-0x2C] spill-single-def
; V06 loc5 [V06,T02] ( 10, 18.50) int -> [rbp-0x2C] spill-single-def
;* V07 loc6 [V07 ] ( 0, 0 ) int -> zero-ref
;* V07 loc6 [V07 ] ( 0, 0 ) int -> zero-ref
;* V08 loc7 [V08 ] ( 0, 0 ) int -> zero-ref
; V08 loc7 [V08,T06] ( 7, 12.50) int -> rdx
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
; V10 tmp1 [V10,T19] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
; V10 tmp1 [V10,T22] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
; V11 tmp2 [V11,T00] ( 10, 48 ) ref -> r13 class-hnd exact "dup spill" <System.String>
; V11 tmp2 [V11,T00] ( 11, 49 ) ref -> r13 class-hnd exact "dup spill" <System.String>
;* V12 tmp3 [V12,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V12 tmp3 [V12,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V13 tmp4 [V13,T13] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V13 tmp4 [V13,T16] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V14 tmp5 [V14,T16] ( 2, 8 ) int -> rdx "Inlining Arg"
; V14 tmp5 [V14,T19] ( 2, 8 ) int -> rdx "Inlining Arg"
; V15 tmp6 [V15,T21] ( 3, 6 ) int -> rax "Inline return value spill temp"
; V15 tmp6 [V15,T24] ( 3, 6 ) int -> rax "Inline return value spill temp"
; V16 tmp7 [V16,T01] ( 5, 20 ) int -> [rbp-0x30] spill-single-def "Inlining Arg"
; V16 tmp7 [V16,T01] ( 5, 20 ) int -> [rbp-0x30] spill-single-def "Inlining Arg"
; V17 tmp8 [V17,T08] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V17 tmp8 [V17,T11] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V18 tmp9 [V18,T17] ( 2, 8 ) int -> rdx "Inlining Arg"
; V18 tmp9 [V18,T20] ( 2, 8 ) int -> rdx "Inlining Arg"
;* V19 tmp10 [V19 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V19 tmp10 [V19 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V20 tmp11 [V20,T14] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V20 tmp11 [V20,T17] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V21 tmp12 [V21,T09] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V21 tmp12 [V21,T12] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V22 tmp13 [V22,T10] ( 4, 8 ) int -> rdx "Inline return value spill temp"
; V22 tmp13 [V22,T13] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V23 tmp14 [V23,T18] ( 2, 8 ) int -> rdx "Inlining Arg"
; V23 tmp14 [V23,T21] ( 2, 8 ) int -> rdx "Inlining Arg"
;* V24 tmp15 [V24 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V24 tmp15 [V24 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V25 tmp16 [V25,T15] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V25 tmp16 [V25,T18] ( 2, 8 ) byref -> rdi "Inlining Arg"
; V26 tmp17 [V26,T11] ( 4, 8 ) int -> rax "Inline return value spill temp"
; V26 tmp17 [V26,T14] ( 4, 8 ) int -> rax "Inline return value spill temp"
;* V27 tmp18 [V27,T25] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V27 tmp18 [V27,T10] ( 4, 8 ) ref -> rax class-hnd exact "Inline return value spill temp" <System.String>
; V28 tmp19 [V28,T20] ( 3, 6 ) ref -> r13 class-hnd "Inline stloc first use temp" <System.String[]>
;* V28 tmp19 [V28 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V29 tmp20 [V29,T12] ( 4, 8 ) int -> r12 "Inline stloc first use temp"
; V29 tmp20 [V29,T26] ( 2, 4 ) long -> r13 "Inline stloc first use temp"
; V30 cse0 [V30,T22] ( 3, 6 ) long -> r14 "CSE #05: moderate"
; V30 tmp21 [V30,T04] ( 4, 16 ) ref -> r12 class-hnd exact "dup spill" <System.String>
; V31 cse1 [V31,T04] ( 7, 14 ) int -> r12 "CSE #01: aggressive"
;* V31 tmp22 [V31 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V32 cse2 [V32,T07] ( 4, 8 ) byref -> [rbp-0x38] spill-single-def "CSE #02: moderate"
;* V32 tmp23 [V32 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V33 cse3 [V33,T23] ( 2, 4 ) int -> rdi "CSE #03: moderate"
;* V33 tmp24 [V33,T29] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V34 tmp25 [V34,T23] ( 3, 6 ) ref -> r13 class-hnd "Inline stloc first use temp" <System.String[]>
; V35 tmp26 [V35,T15] ( 4, 8 ) int -> r12 "Inline stloc first use temp"
; V36 cse0 [V36,T25] ( 3, 6 ) long -> r14 "CSE #07: moderate"
; V37 cse1 [V37,T03] ( 9, 18 ) int -> r12 "CSE #01: aggressive"
; V38 cse2 [V38,T09] ( 5, 10 ) byref -> [rbp-0x38] spill-single-def "CSE #02: moderate"
; V39 cse3 [V39,T27] ( 2, 4 ) int -> rdi "CSE #05: moderate"
;
;
; Lcl frame size = 24
; Lcl frame size = 24
G_M60059_IG01:
G_M60059_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
sub rsp, 24
sub rsp, 24
lea rbp, [rsp+0x40]
lea rbp, [rsp+0x40]
mov rbx, rdi
mov rbx, rdi
;; size=22 bbWeight=1 PerfScore 7.00
;; size=22 bbWeight=1 PerfScore 7.00
G_M60059_IG02:
G_M60059_IG02:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String]
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String]
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov r15, rax
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rdi]
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [r15+0x08]
lea rdi, bword ptr [r15+0x08]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rbx]
mov r14, qword ptr [rax+0x48]
mov r14, qword ptr [rax+0x48]
call [r14+0x38]System.IO.TextReader:ReadLine():System.String:this
call [r14+0x38]System.IO.TextReader:ReadLine():System.String:this
mov r13, rax
mov r13, rax
test r13, r13
test r13, r13
je G_M60059_IG13
je G_M60059_IG15
;; size=66 bbWeight=1 PerfScore 14.00
;; size=66 bbWeight=1 PerfScore 14.00
G_M60059_IG03:
G_M60059_IG03:
test r13, r13
test r13, r13
je G_M60059_IG12
je G_M60059_IG14
;; size=9 bbWeight=4 PerfScore 5.00
;; size=9 bbWeight=4 PerfScore 5.00
G_M60059_IG04:
G_M60059_IG04:
mov r12d, dword ptr [r13+0x08]
mov r12d, dword ptr [r13+0x08]
test r12d, r12d
test r12d, r12d
je G_M60059_IG12
je G_M60059_IG14
cmp word ptr [r13+0x0C], 35
cmp word ptr [r13+0x0C], 35
je G_M60059_IG12
je G_M60059_IG14
lea rax, bword ptr [r13+0x0C]
lea rax, bword ptr [r13+0x0C]
mov bword ptr [rbp-0x38], rax
mov bword ptr [rbp-0x38], rax
mov rdi, rax
mov rdi, rax
mov edx, r12d
mov edx, r12d
mov esi, 9
mov esi, 9
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
test eax, eax
jl G_M60059_IG12
jl G_M60059_IG14
inc eax
inc eax
mov dword ptr [rbp-0x30], eax
mov dword ptr [rbp-0x30], eax
mov edx, r12d
mov edx, r12d
sub edx, eax
sub edx, eax
cmp r12d, eax
cmp r12d, eax
jb G_M60059_IG15
jb G_M60059_IG18
movsxd rdi, eax
movsxd rdi, eax
mov rcx, bword ptr [rbp-0x38]
mov rcx, bword ptr [rbp-0x38]
lea rdi, bword ptr [rcx+2*rdi]
lea rdi, bword ptr [rcx+2*rdi]
mov esi, 9
mov esi, 9
mov r8, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r8, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
test eax, eax
jge SHORT G_M60059_IG05
jge SHORT G_M60059_IG05
jmp SHORT G_M60059_IG06
jmp SHORT G_M60059_IG06
;; size=118 bbWeight=2 PerfScore 51.00
;; size=118 bbWeight=2 PerfScore 51.00
G_M60059_IG05:
G_M60059_IG05:
mov edi, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x30]
add eax, edi
add eax, edi
;; size=5 bbWeight=2 PerfScore 2.50
;; size=5 bbWeight=2 PerfScore 2.50
G_M60059_IG06:
G_M60059_IG06:
test eax, eax
test eax, eax
jl G_M60059_IG12
jl G_M60059_IG14
inc eax
inc eax
mov dword ptr [rbp-0x2C], eax
mov dword ptr [rbp-0x2C], eax
mov edx, r12d
mov edx, r12d
sub edx, eax
sub edx, eax
cmp r12d, eax
cmp r12d, eax
jb G_M60059_IG15
jb G_M60059_IG18
movsxd rdi, eax
movsxd rdi, eax
mov r12, bword ptr [rbp-0x38]
mov rcx, bword ptr [rbp-0x38]
lea rdi, bword ptr [r12+2*rdi]
lea rdi, bword ptr [rcx+2*rdi]
mov esi, 9
mov esi, 9
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r8, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
test eax, eax
jge SHORT G_M60059_IG07
jge SHORT G_M60059_IG07
mov edx, eax
mov ecx, dword ptr [rbp-0x2C]
mov r12d, dword ptr [rbp-0x2C]
jmp SHORT G_M60059_IG08
jmp SHORT G_M60059_IG08
;; size=67 bbWeight=2 PerfScore 28.00
;; size=65 bbWeight=2 PerfScore 27.50
G_M60059_IG07:
G_M60059_IG07:
mov r12d, dword ptr [rbp-0x2C]
mov ecx, dword ptr [rbp-0x2C]
lea edx, [rax+r12]
add eax, ecx
;; size=8 bbWeight=2 PerfScore 3.00
;; size=5 bbWeight=2 PerfScore 2.50
G_M60059_IG08:
G_M60059_IG08:
test edx, edx
test eax, eax
jge SHORT G_M60059_IG09
jge SHORT G_M60059_IG09
mov rdi, r13
mov rdi, r13
mov esi, r12d
mov esi, ecx
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
jmp SHORT G_M60059_IG10
jmp SHORT G_M60059_IG12
;; size=24 bbWeight=2 PerfScore 14.00
;; size=23 bbWeight=2 PerfScore 14.00
G_M60059_IG09:
G_M60059_IG09:
sub edx, r12d
mov edx, eax
mov rdi, r13
sub edx, ecx
mov esi, r12d
mov edi, ecx
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int,int):System.String:this
mov eax, edx
call [rax]System.String:Substring(int,int):System.String:this
add rdi, rax
;; size=21 bbWeight=2 PerfScore 8.00
mov eax, r12d
cmp rdi, rax
ja G_M60059_IG17
test edx, edx
je SHORT G_M60059_IG11
cmp r12d, edx
je SHORT G_M60059_IG10
mov r13d, edx
mov edi, edx
call System.String:FastAllocateString(int):System.String
mov r12, rax
mov esi, dword ptr [rbp-0x2C]
mov rdi, bword ptr [rbp-0x38]
lea rsi, bword ptr [rdi+2*rsi]
cmp byte ptr [r12], r12b
lea rdi, bword ptr [r12+0x0C]
lea rdx, [r13+r13]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov rax, r12
jmp SHORT G_M60059_IG12
;; size=87 bbWeight=2 PerfScore 41.00
G_M60059_IG10:
G_M60059_IG10:
mov rax, r13
jmp SHORT G_M60059_IG12
;; size=5 bbWeight=2 PerfScore 4.50
G_M60059_IG11:
mov rax, 0xD1FFAB1E ; ''
;; size=10 bbWeight=2 PerfScore 0.50
G_M60059_IG12:
test rax, rax
test rax, rax
je SHORT G_M60059_IG12
je SHORT G_M60059_IG14
cmp dword ptr [rax+0x08], 0
cmp dword ptr [rax+0x08], 0
je SHORT G_M60059_IG12
je SHORT G_M60059_IG14
inc dword ptr [r15+0x14]
inc dword ptr [r15+0x14]
mov r13, gword ptr [r15+0x08]
mov r13, gword ptr [r15+0x08]
mov r12d, dword ptr [r15+0x10]
mov r12d, dword ptr [r15+0x10]
mov edi, dword ptr [r13+0x08]
mov edi, dword ptr [r13+0x08]
cmp edi, r12d
cmp edi, r12d
ja SHORT G_M60059_IG11
ja SHORT G_M60059_IG13
mov rdi, r15
mov rdi, r15
mov rsi, rax
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
jmp SHORT G_M60059_IG12
jmp SHORT G_M60059_IG14
;; size=52 bbWeight=2 PerfScore 42.50
;; size=52 bbWeight=2 PerfScore 42.50
G_M60059_IG11:
G_M60059_IG13:
lea edi, [r12+0x01]
lea edi, [r12+0x01]
mov dword ptr [r15+0x10], edi
mov dword ptr [r15+0x10], edi
mov edi, r12d
mov edi, r12d
lea rdi, bword ptr [r13+8*rdi+0x10]
lea rdi, bword ptr [r13+8*rdi+0x10]
mov rsi, rax
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
;; size=25 bbWeight=2 PerfScore 10.00
;; size=25 bbWeight=2 PerfScore 10.00
G_M60059_IG12:
G_M60059_IG14:
mov rdi, rbx
mov rdi, rbx
call [r14+0x38]System.IO.TextReader:ReadLine():System.String:this
call [r14+0x38]System.IO.TextReader:ReadLine():System.String:this
mov r13, rax
mov r13, rax
test r13, r13
test r13, r13
jne G_M60059_IG03
jne G_M60059_IG03
;; size=19 bbWeight=4 PerfScore 19.00
;; size=19 bbWeight=4 PerfScore 19.00
G_M60059_IG13:
G_M60059_IG15:
mov rax, r15
mov rax, r15
;; size=3 bbWeight=1 PerfScore 0.25
;; size=3 bbWeight=1 PerfScore 0.25
G_M60059_IG14:
G_M60059_IG16:
add rsp, 24
add rsp, 24
pop rbx
pop rbx
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; size=15 bbWeight=1 PerfScore 4.25
;; size=15 bbWeight=1 PerfScore 4.25
G_M60059_IG15:
G_M60059_IG17:
mov ecx, dword ptr [rbp-0x2C]
mov rdi, r13
mov esi, ecx
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=21 bbWeight=0.50 PerfScore 2.50
G_M60059_IG18:
mov edi, 8
mov edi, 8
xor esi, esi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
int3
int3
;; size=20 bbWeight=0.50 PerfScore 2.00
;; size=20 bbWeight=0.50 PerfScore 2.00
; Total bytes of code 474, prolog size 19, PerfScore 210.50, instruction count 129, allocated bytes for code 474 (MethodHash=22bb1564) for method System.TimeZoneInfo:ParseTimeZoneIds(System.IO.StreamReader):System.Collections.Generic.List`1[System.String] (FullOpts)
; Total bytes of code 570, prolog size 19, PerfScore 250.00, instruction count 158, allocated bytes for code 570 (MethodHash=22bb1564) for method System.TimeZoneInfo:ParseTimeZoneIds(System.IO.StreamReader):System.Collections.Generic.List`1[System.String] (FullOpts)
; ============================================================
; ============================================================