// File: /workspace/github_c_makefile_star2_O0/weaslepalace[P]FreeRTOS_Posix_Sim/FreeRTOS_Kernel/tasks.c
// Function: vTaskIncrementTick
void vTaskIncrementTick( void )
{
	/* Called by the portable layer each time a tick interrupt occurs.
	Increments the tick then checks to see if the new tick value will cause any
	tasks to be unblocked. */
	if( uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE )
	{
		++xTickCount;
		if( xTickCount == ( portTickType ) 0 )
		{
			xList *pxTemp;

			/* Tick count has overflowed so we need to swap the delay lists.
			If there are any items in pxDelayedTaskList here then there is
			an error! */
			pxTemp = pxDelayedTaskList;
			pxDelayedTaskList = pxOverflowDelayedTaskList;
			pxOverflowDelayedTaskList = pxTemp;
			xNumOfOverflows++;
		}

		/* See if this tick has made a timeout expire. */
		prvCheckDelayedTasks();
	}
	else
	{
		++uxMissedTicks;

		/* The tick hook gets called at regular intervals, even if the
		scheduler is locked. */
		#if ( configUSE_TICK_HOOK == 1 )
		{
			extern void vApplicationTickHook( void );

			vApplicationTickHook();
		}
		#endif
	}

	#if ( configUSE_TICK_HOOK == 1 )
	{
		extern void vApplicationTickHook( void );

		/* Guard against the tick hook being called when the missed tick
		count is being unwound (when the scheduler is being unlocked. */
		if( uxMissedTicks == 0 )
		{
			vApplicationTickHook();
		}
	}
	#endif

	traceTASK_INCREMENT_TICK( xTickCount );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq 0x6ef9(%rip), %rax      # 0xdf68
movq (%rax), %rax
cmpq $0x0, %rax
jne 0x71b7
movq 0x6e5d(%rip), %rax      # 0xdee0
movl (%rax), %ecx
addl $0x1, %ecx
movq 0x6e51(%rip), %rax      # 0xdee0
movl %ecx, (%rax)
movq 0x6e48(%rip), %rax      # 0xdee0
movl (%rax), %eax
cmpl $0x0, %eax
jne 0x70e7
movq 0x6f1a(%rip), %rax      # 0xdfc0
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq 0x6eac(%rip), %rax      # 0xdf60
movq (%rax), %rcx
movq 0x6f02(%rip), %rax      # 0xdfc0
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq 0x6e94(%rip), %rax      # 0xdf60
movq %rcx, (%rax)
movq 0x6f12(%rip), %rax      # 0xdfe8
movq (%rax), %rcx
addq $0x1, %rcx
movq 0x6f04(%rip), %rax      # 0xdfe8
movq %rcx, (%rax)
jmp 0x70e9
movq 0x6ed0(%rip), %rax      # 0xdfc0
movq (%rax), %rax
movq (%rax), %rax
cmpq $0x0, %rax
je 0x7114
movq 0x6ebd(%rip), %rax      # 0xdfc0
movq (%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x711c
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x711c
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, %rax
je 0x71b5
movq 0x6dab(%rip), %rax      # 0xdee0
movl (%rax), %eax
movq -0x10(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jae 0x7142
jmp 0x71b5
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
callq 0x4040
movq -0x10(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x7167
movq -0x10(%rbp), %rdi
addq $0x30, %rdi
callq 0x4040
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movq 0x6d52(%rip), %rcx      # 0xdec8
movq (%rcx), %rcx
cmpq %rcx, %rax
jbe 0x7190
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rcx
movq 0x6d3b(%rip), %rax      # 0xdec8
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x6d75(%rip), %rdi      # 0xdf10
imulq $0x28, 0x58(%rax), %rax
addq %rax, %rdi
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
callq 0x4760
jmp 0x70e9
jmp 0x71cf
movq 0x6dc2(%rip), %rax      # 0xdf80
movq (%rax), %rcx
addq $0x1, %rcx
movq 0x6db4(%rip), %rax      # 0xdf80
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)