// File: /workspace/github_c_makefile_star2_O0/zenkj[P]luajit-arm64/src/host/minilua.c
// Function: resize
static void resize(lua_State*L,Table*t,int nasize,int nhsize){
int i;
int oldasize=t->sizearray;
int oldhsize=t->lsizenode;
Node*nold=t->node;
if(nasize>oldasize)
setarrayvector(L,t,nasize);
setnodevector(L,t,nhsize);
if(nasize<oldasize){
t->sizearray=nasize;
for(i=nasize;i<oldasize;i++){
if(!ttisnil(&t->array[i]))
setobj(L,luaH_setnum(L,t,i+1),&t->array[i]);
}
luaM_reallocvector(L,t->array,oldasize,nasize,TValue);
}
for(i=twoto(oldhsize)-1;i>=0;i--){
Node*old=nold+i;
if(!ttisnil(gval(old)))
setobj(L,luaH_set(L,t,key2tval(old)),gval(old));
}
if(nold!=(&dummynode_))
luaM_freearray(L,nold,twoto(oldhsize),Node);
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movl %edx, 0x54(%rsp)
movl %ecx, 0x50(%rsp)
movq 0x58(%rsp), %rax
movl 0x38(%rax), %eax
movl %eax, 0x48(%rsp)
movq 0x58(%rsp), %rax
movzbl 0xb(%rax), %eax
movl %eax, 0x44(%rsp)
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rax
movq %rax, 0x38(%rsp)
movl 0x54(%rsp), %eax
cmpl 0x48(%rsp), %eax
jle 0xc7ba
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rsi
movl 0x54(%rsp), %edx
callq 0xca60
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rsi
movl 0x50(%rsp), %edx
callq 0xcb30
movl 0x54(%rsp), %eax
cmpl 0x48(%rsp), %eax
jge 0xc8e0
movl 0x54(%rsp), %ecx
movq 0x58(%rsp), %rax
movl %ecx, 0x38(%rax)
movl 0x54(%rsp), %eax
movl %eax, 0x4c(%rsp)
movl 0x4c(%rsp), %eax
cmpl 0x48(%rsp), %eax
jge 0xc87f
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x4c(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpl $0x0, 0x8(%rax)
je 0xc86d
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x4c(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rsi
movl 0x4c(%rsp), %edx
addl $0x1, %edx
callq 0xb640
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movl 0x8(%rax), %ecx
movq 0x28(%rsp), %rax
movl %ecx, 0x8(%rax)
jmp 0xc86f
movl 0x4c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0xc7ef
movl 0x54(%rsp), %eax
addl $0x1, %eax
cltq
movabsq $0xfffffffffffffff, %rcx # imm = 0xFFFFFFFFFFFFFFF
cmpq %rcx, %rax
ja 0xc8c3
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rsi
movslq 0x48(%rsp), %rdx
shlq $0x4, %rdx
movslq 0x54(%rsp), %rcx
shlq $0x4, %rcx
callq 0x4b30
movq %rax, 0x8(%rsp)
jmp 0xc8d2
movq 0x60(%rsp), %rdi
callq 0x5480
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x18(%rax)
movl 0x44(%rsp), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
subq $0x1, %rax
movl %eax, 0x4c(%rsp)
cmpl $0x0, 0x4c(%rsp)
jl 0xc974
movq 0x38(%rsp), %rax
movslq 0x4c(%rsp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
cmpl $0x0, 0x8(%rax)
je 0xc965
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x20(%rsp), %rdx
addq $0x10, %rdx
callq 0xbee0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movl 0x8(%rax), %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x8(%rax)
jmp 0xc967
movl 0x4c(%rsp), %eax
addl $-0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0xc8f6
leaq 0x15c6d(%rip), %rax     # 0x225e8
cmpq %rax, 0x38(%rsp)
je 0xc9a7
movq 0x60(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x44(%rsp), %eax
movl %eax, %ecx
movl $0x1, %eax
shlq %cl, %rax
imulq $0x28, %rax, %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x4b30
addq $0x68, %rsp
retq
nopl (%rax)