// File: /workspace/github_cpp_makefile_star2_O2/enbock[P]Warp10Server/ulib/src/Thread.cpp
// Function: u::ThreadSystem::run(long)
void ThreadSystem::run(int64 id)
{
	_access.lock();

#ifndef NDEBUG
	if(ThreadSystem::isTerminating)
		trace(String("                                                                                        ")
		+ "\n\033[A"
		+ "\033[33mRun queue="+Object::int2string(_build.size())
		+ "\trun="+Object::int2string(_run.size())
		+ "("+Object::int2string(peakRun)+")"
		+ "\tfinished="+Object::int2string(finish)
		+ "\033[A"
		);
#endif
	Thread *thread = _build.at(id);
	_build.erase(id);
	_run.push_back(thread);
#ifndef NDEBUG
	if(peakRun < _run.size()) peakRun = _run.size();
#endif
	_access.unlock();
	thread->run();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x318, %rsp            # imm = 0x318
movq %rdi, %rbx
leaq 0x202fa4(%rip), %rdi    # 0x60c6b0
callq 0x407cb6
cmpb $0x1, 0x202f91(%rip)    # 0x60c6a9
jne 0x4099b1
movq $0x60d6a0, %rdi         # imm = 0x60D6A0
leaq 0x18c94d(%rip), %rsi    # 0x596079
callq 0x474850
movq %rax, %r14
leaq 0x18cdf3(%rip), %rsi    # 0x59652e
leaq 0x160(%rsp), %rdi
callq 0x40817c
leaq 0x198(%rsp), %rsi
leaq 0x18ce30(%rip), %rdx    # 0x596587
movq %rsp, %rdi
callq 0x404ec5
leaq 0x18ce26(%rip), %rdx    # 0x59658c
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x404ec5
movq 0x202fae(%rip), %rsi    # 0x60c728
subq 0x202f9f(%rip), %rsi    # 0x60c720
shrq $0x3, %rsi
leaq 0x2c0(%rsp), %rdi
callq 0x407f86
leaq 0x2f8(%rsp), %rdx
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x405951
leaq 0x18ccea(%rip), %rdx    # 0x59649a
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x404ec5
movq 0x202fb2(%rip), %rsi    # 0x60c778
subq 0x202fa3(%rip), %rsi    # 0x60c770
shrq $0x3, %rsi
leaq 0x268(%rsp), %rdi
callq 0x407f86
leaq 0x2a0(%rsp), %rdx
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x405951
leaq 0x190b0f(%rip), %rdx    # 0x59a30e
leaq 0xa0(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x404ec5
movl 0x202f76(%rip), %esi    # 0x60c790
leaq 0x210(%rsp), %rdi
callq 0x407f86
leaq 0x248(%rsp), %rdx
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x405951
leaq 0x18cb93(%rip), %rdx    # 0x5963de
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x404ec5
leaq 0x18cc40(%rip), %rdx    # 0x5964a7
leaq 0x100(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x404ec5
movl 0x202f06(%rip), %esi    # 0x60c788
leaq 0x1b8(%rsp), %rdi
callq 0x407f86
leaq 0x1f0(%rsp), %rdx
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0x405951
leaq 0x18ccd5(%rip), %rdx    # 0x596588
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x404ec5
leaq 0x140(%rsp), %rsi
movq %r14, %rdi
callq 0x4870d0
leaq 0x18c7a6(%rip), %rsi    # 0x596085
movq %rax, %rdi
callq 0x474850
movq %rax, %rdi
callq 0x474130
leaq 0x140(%rsp), %rdi
callq 0x484750
leaq 0x120(%rsp), %rdi
callq 0x484750
leaq 0x1b8(%rsp), %rdi
callq 0x404ab8
leaq 0x100(%rsp), %rdi
callq 0x484750
leaq 0xe0(%rsp), %rdi
callq 0x484750
leaq 0xc0(%rsp), %rdi
callq 0x484750
leaq 0x210(%rsp), %rdi
callq 0x404ab8
leaq 0xa0(%rsp), %rdi
callq 0x484750
leaq 0x80(%rsp), %rdi
callq 0x484750
leaq 0x268(%rsp), %rdi
callq 0x404ab8
leaq 0x60(%rsp), %rdi
callq 0x484750
leaq 0x40(%rsp), %rdi
callq 0x484750
leaq 0x2c0(%rsp), %rdi
callq 0x404ab8
leaq 0x20(%rsp), %rdi
callq 0x484750
movq %rsp, %rdi
callq 0x484750
leaq 0x160(%rsp), %rdi
callq 0x404ab8
leaq 0x202d68(%rip), %rdi    # 0x60c720
movq %rbx, %rsi
callq 0x40a106
leaq 0x202d21(%rip), %rdi    # 0x60c6e8
movq (%rax), %rax
leaq 0x160(%rsp), %r14
movq %rax, (%r14)
movq %rbx, %rsi
callq 0x40a128
leaq 0x202d8c(%rip), %rdi    # 0x60c770
movq %r14, %rsi
callq 0x40a0e8
movq 0x202d85(%rip), %rax    # 0x60c778
subq 0x202d76(%rip), %rax    # 0x60c770
sarq $0x3, %rax
cmpq %rax, 0x202d8b(%rip)    # 0x60c790
jae 0x409a0e
movq %rax, 0x202d82(%rip)    # 0x60c790
leaq 0x202c9b(%rip), %rdi    # 0x60c6b0
callq 0x407c72
movq 0x160(%rsp), %rdi
callq 0x408fea
addq $0x318, %rsp            # imm = 0x318
popq %rbx
popq %r14
retq
movq %rax, %rbx
jmp 0x409aba
movq %rax, %rbx
jmp 0x409ac7
movq %rax, %rbx
jmp 0x409ad4
movq %rax, %rbx
jmp 0x409ae1
movq %rax, %rbx
jmp 0x409aee
movq %rax, %rbx
jmp 0x409afb
movq %rax, %rbx
jmp 0x409b08
movq %rax, %rbx
jmp 0x409b15
movq %rax, %rbx
jmp 0x409b22
movq %rax, %rbx
jmp 0x409b2f
movq %rax, %rbx
jmp 0x409b39
movq %rax, %rbx
jmp 0x409b43
movq %rax, %rbx
jmp 0x409b50
movq %rax, %rbx
jmp 0x409b5a
movq %rax, %rbx
jmp 0x409b62
movq %rax, %rbx
leaq 0x140(%rsp), %rdi
callq 0x484750
leaq 0x120(%rsp), %rdi
callq 0x484750
leaq 0x1b8(%rsp), %rdi
callq 0x404ab8
leaq 0x100(%rsp), %rdi
callq 0x484750
leaq 0xe0(%rsp), %rdi
callq 0x484750
leaq 0xc0(%rsp), %rdi
callq 0x484750
leaq 0x210(%rsp), %rdi
callq 0x404ab8
leaq 0xa0(%rsp), %rdi
callq 0x484750
leaq 0x80(%rsp), %rdi
callq 0x484750
leaq 0x268(%rsp), %rdi
callq 0x404ab8
leaq 0x60(%rsp), %rdi
callq 0x484750
leaq 0x40(%rsp), %rdi
callq 0x484750
leaq 0x2c0(%rsp), %rdi
callq 0x404ab8
leaq 0x20(%rsp), %rdi
callq 0x484750
movq %rsp, %rdi
callq 0x484750
leaq 0x160(%rsp), %rdi
callq 0x404ab8
movq %rbx, %rdi
callq 0x4b5490
nop