// File: BU-DiSC[P]BF-Shared-Hashing/db.cpp
// Function: db::SetTreeParam()
void db::SetTreeParam()
{
	positive_counters.resize(num_levels, 0);
	qnum_histogram = new vector<int> (num_filter_units, 0); 
	lnum_histogram = new vector<int> (num_levels, 0); 

	for( int l = 0; l < num_levels; l++){
		int num_l_sst = num_sstPerLevel[l];
		cout << "set param " << num_levels << " " << num_l_sst << endl;
	}

	bf_tp_eval_histogram = new vector<int> (num_levels, 0);
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq %rax, %rdi
addq $0x1f8, %rdi            # imm = 0x1F8
movslq 0xdc(%rax), %rsi
movl $0x0, 0x9c(%rsp)
leaq 0x9c(%rsp), %rdx
callq 0x11260
movl $0x18, %edi
callq 0x6510
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
movb $0x1, 0x83(%rsp)
movslq 0x110(%rax), %rax
movq %rax, 0x58(%rsp)
movl $0x0, 0x98(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x12320
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rcx
leaq 0x98(%rsp), %rdx
callq 0x12330
jmp 0xf320
movq 0x40(%rsp), %rax
movq 0x48(%rsp), %rcx
movb $0x0, 0x83(%rsp)
movq %rcx, 0x210(%rax)
leaq 0x97(%rsp), %rdi
callq 0x8740
movl $0x18, %edi
callq 0x6510
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movb $0x1, 0x7a(%rsp)
movslq 0xdc(%rax), %rax
movq %rax, 0x30(%rsp)
movl $0x0, 0x7c(%rsp)
leaq 0x7b(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x12320
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rcx
leaq 0x7c(%rsp), %rdx
callq 0x12330
jmp 0xf3a5
movq 0x40(%rsp), %rax
movq 0x20(%rsp), %rcx
movb $0x0, 0x7a(%rsp)
movq %rcx, 0x218(%rax)
leaq 0x7b(%rsp), %rdi
callq 0x8740
movl $0x0, 0x74(%rsp)
movq 0x40(%rsp), %rcx
movl 0x74(%rsp), %eax
cmpl 0xdc(%rcx), %eax
jge 0xf4d0
movq 0x40(%rsp), %rdi
addq $0xe8, %rdi
movslq 0x74(%rsp), %rsi
callq 0x113c0
movl (%rax), %eax
movl %eax, 0x70(%rsp)
movq 0x70bbb(%rip), %rdi     # 0x7ffc0
leaq 0x54f79(%rip), %rsi     # 0x64385
callq 0x6500
movq %rax, %rdi
movq 0x40(%rsp), %rax
movl 0xdc(%rax), %esi
callq 0x6830
movq %rax, %rdi
leaq 0x55a2a(%rip), %rsi     # 0x64e58
callq 0x6500
movq %rax, %rdi
movl 0x70(%rsp), %esi
callq 0x6830
movq %rax, %rdi
movq 0x70b5f(%rip), %rsi     # 0x7ffa8
callq 0x6540
movl 0x74(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x74(%rsp)
jmp 0xf3cd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x97(%rsp), %rdi
callq 0x8740
testb $0x1, 0x83(%rsp)
jne 0xf48b
jmp 0xf495
movq 0x48(%rsp), %rdi
callq 0x64c0
jmp 0xf587
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x7b(%rsp), %rdi
callq 0x8740
testb $0x1, 0x7a(%rsp)
jne 0xf4c1
jmp 0xf4cb
movq 0x20(%rsp), %rdi
callq 0x64c0
jmp 0xf587
movl $0x18, %edi
callq 0x6510
movq %rax, %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x8(%rsp)
movq %rcx, (%rsp)
movb $0x1, 0x6a(%rsp)
movslq 0xdc(%rax), %rax
movq %rax, 0x10(%rsp)
movl $0x0, 0x6c(%rsp)
leaq 0x6b(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x12320
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rcx
leaq 0x6c(%rsp), %rdx
callq 0x12330
jmp 0xf52e
movq 0x40(%rsp), %rax
movq (%rsp), %rcx
movb $0x0, 0x6a(%rsp)
movq %rcx, 0x228(%rax)
leaq 0x6b(%rsp), %rdi
callq 0x8740
addq $0xa8, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x6b(%rsp), %rdi
callq 0x8740
testb $0x1, 0x6a(%rsp)
jne 0xf57c
jmp 0xf585
movq (%rsp), %rdi
callq 0x64c0
jmp 0xf587
movq 0x88(%rsp), %rdi
callq 0x6850
nopw %cs:(%rax,%rax)