// File: /workspace/github_cpp_makefile_star2_O2/CodyNault[P]Image-Filter-Dataflow/src/filter.cpp
// Function: Filter::Update()
void Filter::Update()
{
	updateSourceRefs(this);
	char msg[128];
	if(inputImg1 != NULL){
        	sprintf(msg, "%s: about to update input1", SourceName());
        	Logger::LogEvent(msg);
		inputImg1->Update();
        	sprintf(msg, "%s: done updating input1", SourceName());
        	Logger::LogEvent(msg);
	}
	if(inputImg2 != NULL){
        	sprintf(msg, "%s: about to update input2", SourceName());
        	Logger::LogEvent(msg);
		inputImg2->Update();
        	sprintf(msg, "%s: done updating input2", SourceName());
        	Logger::LogEvent(msg);
	}
	sprintf(msg, "%s: about to execute", SourceName());
	Logger::LogEvent(msg);
	try{
		Execute();
	}catch(DataFlowException& except){
        	sprintf(msg, "Throwing exception: (%s): %s", SourceName(), except.what());
        	Logger::LogEvent(msg);
		throw except;
	}
	Source::removeFromSourceRefs(this);
	sprintf(msg, "%s: done executing", SourceName());
	Logger::LogEvent(msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
movq %rdi, %rbx
callq 0x3bc6
cmpq $0x0, 0x30(%rbx)
je 0x59c9
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0xa20(%rip), %rsi       # 0x639f
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %r14, %rdi
callq 0x5b68
movq 0x30(%rbx), %rdi
callq 0x3966
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0xa06(%rip), %rsi       # 0x63ba
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %r14, %rdi
callq 0x5b68
cmpq $0x0, 0x38(%rbx)
je 0x5a2a
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0x9f3(%rip), %rsi       # 0x63d3
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %r14, %rdi
callq 0x5b68
movq 0x38(%rbx), %rdi
callq 0x3966
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0x9d9(%rip), %rsi       # 0x63ee
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %r14, %rdi
callq 0x5b68
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0x6a6(%rip), %rsi       # 0x60e0
leaq -0xa0(%rbp), %r14
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %r14, %rdi
callq 0x5b68
movq (%rbx), %rax
movq %rbx, %rdi
callq *(%rax)
movq %rbx, %rdi
callq 0x3c78
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
leaq 0x69c(%rip), %rsi       # 0x6112
leaq -0xa0(%rbp), %rbx
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x3050
movq %rbx, %rdi
callq 0x5b68
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
cmpl $0x1, %edx
jne 0x5b3c
movq %r14, %rdi
callq 0x3080
movq %rax, %r14
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x8(%rax)
movq %rax, %rbx
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
leaq 0x622(%rip), %rsi       # 0x60f5
leaq -0xa0(%rbp), %r15
movq %r15, %rdi
movq %rbx, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x3050
movq %r15, %rdi
callq 0x5b68
movl $0x408, %edi            # imm = 0x408
callq 0x30a0
movq %rax, %rbx
leaq 0x3daa(%rip), %rax      # 0x98b0
movq %rax, (%rbx)
leaq 0x8(%rbx), %rdi
addq $0x8, %r14
movl $0x400, %edx            # imm = 0x400
movq %r14, %rsi
callq 0x30d0
leaq 0x3d63(%rip), %rsi      # 0x9888
movq 0x44b4(%rip), %rdx      # 0x9fe0
movq %rbx, %rdi
callq 0x31c0
movq %rax, %r14
callq 0x31b0
movq %r14, %rdi
callq 0x31d0
movq %rax, %rdi
callq 0x3cc8