// File: /workspace/github_c_makefile_star2_O3/deplinenoise[P]tundra/unittest/Test_MemAllocLinear.cpp
// Function: MemAllocLinearTest_Reset_Test::TestBody()
TEST_F(MemAllocLinearTest, Reset)
{
  ASSERT_EQ(0, alloc.m_Offset);
  LinearAllocate<int>(&alloc);

  ASSERT_EQ(sizeof(int), alloc.m_Offset);
  LinearAllocReset(&alloc);

  ASSERT_EQ(0, alloc.m_Offset);
  LinearAllocate<int>(&alloc);

  ASSERT_EQ(sizeof(int), alloc.m_Offset);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x30(%rdi), %rbx
leaq 0x1907d(%rip), %rsi     # 0x53b38
leaq 0x1aa6d(%rip), %rdx     # 0x5552f
leaq 0x18(%rsp), %r15
movq %r15, %rdi
movq %rbx, %r8
callq 0x32e9d
movb (%r15), %bpl
testb %bpl, %bpl
jne 0x3ab54
leaq 0x8(%rsp), %rdi
callq 0x12e46
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x3aaf3
movq (%rax), %r8
jmp 0x3aafa
leaq 0x1d3cd(%rip), %r8      # 0x57ec7
leaq 0x1aa0d(%rip), %rdx     # 0x5550e
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x34, %ecx
callq 0x10b64
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x10c00
leaq 0x10(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, 0x8(%rsp)
je 0x3ab54
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3ab54
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3ab54
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
testb %bpl, %bpl
je 0x3add0
addq $0x18, %r14
movl $0x4, %esi
movl $0x4, %edx
movq %r14, %rdi
callq 0x41fb0
leaq 0x8(%rsp), %rcx
movq $0x4, (%rcx)
leaq 0x1a9b9(%rip), %rsi     # 0x5554b
leaq 0x1a996(%rip), %rdx     # 0x5552f
leaq 0x18(%rsp), %r15
movq %r15, %rdi
movq %rbx, %r8
callq 0x3afbe
movb (%r15), %bpl
testb %bpl, %bpl
jne 0x3ac2b
leaq 0x8(%rsp), %rdi
callq 0x12e46
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x3abca
movq (%rax), %r8
jmp 0x3abd1
leaq 0x1d2f6(%rip), %r8      # 0x57ec7
leaq 0x1a936(%rip), %rdx     # 0x5550e
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x37, %ecx
callq 0x10b64
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x10c00
leaq 0x10(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, 0x8(%rsp)
je 0x3ac2b
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3ac2b
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3ac2b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
testb %bpl, %bpl
je 0x3add0
movq %r14, %rdi
callq 0x41fe8
leaq 0x8(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x18ede(%rip), %rsi     # 0x53b38
leaq 0x1a8ce(%rip), %rdx     # 0x5552f
leaq 0x18(%rsp), %r15
movq %r15, %rdi
movq %rbx, %r8
callq 0x32e9d
movb (%r15), %bpl
testb %bpl, %bpl
jne 0x3acf3
leaq 0x8(%rsp), %rdi
callq 0x12e46
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x3ac92
movq (%rax), %r8
jmp 0x3ac99
leaq 0x1d22e(%rip), %r8      # 0x57ec7
leaq 0x1a86e(%rip), %rdx     # 0x5550e
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x3a, %ecx
callq 0x10b64
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x10c00
leaq 0x10(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, 0x8(%rsp)
je 0x3acf3
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3acf3
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3acf3
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
testb %bpl, %bpl
je 0x3add0
movl $0x4, %esi
movl $0x4, %edx
movq %r14, %rdi
callq 0x41fb0
leaq 0x8(%rsp), %rcx
movq $0x4, (%rcx)
leaq 0x1a81e(%rip), %rsi     # 0x5554b
leaq 0x1a7fb(%rip), %rdx     # 0x5552f
leaq 0x18(%rsp), %r14
movq %r14, %rdi
movq %rbx, %r8
callq 0x3afbe
cmpb $0x0, (%r14)
jne 0x3adc4
leaq 0x8(%rsp), %rdi
callq 0x12e46
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x3ad63
movq (%rax), %r8
jmp 0x3ad6a
leaq 0x1d15d(%rip), %r8      # 0x57ec7
leaq 0x1a79d(%rip), %rdx     # 0x5550e
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x3d, %ecx
callq 0x10b64
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x10c00
leaq 0x10(%rsp), %rdi
callq 0x10bd0
cmpq $0x0, 0x8(%rsp)
je 0x3adc4
movl $0x1, %edi
callq 0x10b61
testb %al, %al
je 0x3adc4
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3adc4
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rdi
xorl %esi, %esi
callq 0x2c37a
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3ae2e
jmp 0x3adfb
jmp 0x3ae0a
jmp 0x3ae19
jmp 0x3ae2e
jmp 0x3ae2e
jmp 0x3adfb
jmp 0x3ae0a
jmp 0x3ae19
jmp 0x3ae2e
jmp 0x3ae2e
jmp 0x3adfb
jmp 0x3ae0a
jmp 0x3ae19
jmp 0x3ae2e
jmp 0x3ae2e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x10bd0
jmp 0x3ae0d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x31a70
jmp 0x3ae1c
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x31a82
movq %rbx, %rdi
callq 0xcbb0
movq %rax, %rdi
callq 0x287ef