Slide 9
Slide 9 text
なぜコードが大きいのか
インライン展開の多用
case 'n':
CheckToken("ull");
value.Type = JsonType.Null;
break;
cmp eax,6E ← 'n'
jne near ptr M04_L104
mov r10d,[rbp+24]
inc r10d
mov [rbp+24],r10d
inc dword ptr [rbp+28]
cmp [rbp+20],r10d
jne near ptr M04_L38
xor r9d,r9d
mov [rbp+24],r9d
mov rdx,[rbp+10]
mov r9d,[rdx+8]
mov rcx,[rbp+8]
xor r8d,r8d
mov rax,[rcx]
mov rax,[rax+48]
call qword ptr [rax+28]
mov [rbp+20],eax
cmp dword ptr [rbp+20],0
jne near ptr M04_L38
mov byte ptr [rbp+2E],1
mov word ptr [rbp+2C],0
M04_L08:
mov r9,23E10009B48
mov rsi,[r9]
xor edi,edi
mov r12d,[rsi+8]
test r12d,r12d
jle short M04_L11
M04_L11:
mov dword ptr [rsp+0B4],0FFF80001
jmp near ptr M04_L05
127 bytes