// File: CMU-SAFARI[P]MQSim/src/exec/IO_Flow_Parameter_Set.cpp
// Function: IO_Flow_Parameter_Set_Trace_Based::XML_serialize(Utils::XmlWriter&)
void IO_Flow_Parameter_Set_Trace_Based::XML_serialize(Utils::XmlWriter& xmlwriter)
{

	std::string tmp = "IO_Flow_Parameter_Set_Trace_Based";
	xmlwriter.Write_open_tag(tmp);
	IO_Flow_Parameter_Set::XML_serialize(xmlwriter);

	std::string attr = "File_Path";
	std::string val = File_Path;
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Percentage_To_Be_Executed";
	val = std::to_string(Percentage_To_Be_Executed);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Relay_Count";
	val = std::to_string(Relay_Count);
	xmlwriter.Write_attribute_string(attr, val);

	attr = "Time_Unit";
	switch (Time_Unit) {
		case Trace_Time_Unit::PICOSECOND:
			val = "PICOSECOND";
			break;
		case Trace_Time_Unit::NANOSECOND:
			val = "NANOSECOND";
			break;
		case Trace_Time_Unit::MICROSECOND:
			val = "MICROSECOND";
			break;
	}
	xmlwriter.Write_attribute_string(attr, val);

	xmlwriter.Write_close_tag();
}

// Assembly:
subq $0x248, %rsp            # imm = 0x248
movq %rdi, 0x240(%rsp)
movq %rsi, 0x238(%rsp)
movq 0x240(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x217(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x8780
movq 0x50(%rsp), %rdx
leaq 0x81a43(%rip), %rsi     # 0xa9225
leaq 0x218(%rsp), %rdi
callq 0x85d0
jmp 0x277f1
leaq 0x217(%rsp), %rdi
callq 0x84a0
movq 0x238(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x1e0(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x81a0
jmp 0x27822
movq 0x40(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0xa7d60
jmp 0x27836
leaq 0x1e0(%rsp), %rdi
callq 0x8848
movq 0x48(%rsp), %rdi
movq 0x238(%rsp), %rsi
callq 0x23020
jmp 0x27857
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x8780
movq 0x38(%rsp), %rdx
leaq 0x83df0(%rip), %rsi     # 0xab665
leaq 0x1c0(%rsp), %rdi
callq 0x85d0
jmp 0x27884
leaq 0x1bf(%rsp), %rdi
callq 0x84a0
movq 0x48(%rsp), %rsi
addq $0x50, %rsi
leaq 0x198(%rsp), %rdi
callq 0x81a0
jmp 0x278a9
movq 0x238(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x178(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x81a0
jmp 0x278cd
leaq 0x158(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x81a0
jmp 0x278e4
movq 0x30(%rsp), %rdi
leaq 0x178(%rsp), %rsi
leaq 0x158(%rsp), %rdx
callq 0xa7eb0
jmp 0x27900
leaq 0x158(%rsp), %rdi
callq 0x8848
leaq 0x178(%rsp), %rdi
callq 0x8848
leaq 0x83d4e(%rip), %rsi     # 0xab66f
leaq 0x1c0(%rsp), %rdi
callq 0x85c0
jmp 0x27930
movq 0x48(%rsp), %rax
movl 0x70(%rax), %esi
leaq 0x138(%rsp), %rdi
callq 0xd1a0
jmp 0x27947
leaq 0x198(%rsp), %rdi
leaq 0x138(%rsp), %rsi
movq %rsi, 0x20(%rsp)
callq 0x8510
movq 0x20(%rsp), %rdi
callq 0x8848
movq 0x238(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x118(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x81a0
jmp 0x2798f
leaq 0xf8(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x81a0
jmp 0x279a6
movq 0x28(%rsp), %rdi
leaq 0x118(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
callq 0xa7eb0
jmp 0x279c2
leaq 0xf8(%rsp), %rdi
callq 0x8848
leaq 0x118(%rsp), %rdi
callq 0x8848
leaq 0x83ca6(%rip), %rsi     # 0xab689
leaq 0x1c0(%rsp), %rdi
callq 0x85c0
jmp 0x279f2
movq 0x48(%rsp), %rax
movl 0x74(%rax), %esi
leaq 0xd8(%rsp), %rdi
callq 0xd1a0
jmp 0x27a09
leaq 0x198(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
movq %rsi, 0x10(%rsp)
callq 0x8510
movq 0x10(%rsp), %rdi
callq 0x8848
movq 0x238(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x81a0
jmp 0x27a51
leaq 0x98(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x81a0
jmp 0x27a68
movq 0x18(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
leaq 0x98(%rsp), %rdx
callq 0xa7eb0
jmp 0x27a84
leaq 0x98(%rsp), %rdi
callq 0x8848
leaq 0xb8(%rsp), %rdi
callq 0x8848
leaq 0x83bf0(%rip), %rsi     # 0xab695
leaq 0x1c0(%rsp), %rdi
callq 0x85c0
jmp 0x27ab4
movq 0x48(%rsp), %rax
movl 0x78(%rax), %eax
movl %eax, 0xc(%rsp)
testl %eax, %eax
je 0x27c83
jmp 0x27aca
movl 0xc(%rsp), %eax
subl $0x1, %eax
je 0x27c9b
jmp 0x27ad9
movl 0xc(%rsp), %eax
subl $0x2, %eax
je 0x27cb3
jmp 0x27ccb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x217(%rsp), %rdi
callq 0x84a0
jmp 0x27dcb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27dbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x1e0(%rsp), %rdi
callq 0x8848
jmp 0x27dbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x1bf(%rsp), %rdi
callq 0x84a0
jmp 0x27dbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27db1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27da4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27bdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x8848
leaq 0x178(%rsp), %rdi
callq 0x8848
jmp 0x27da4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27c28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x8848
leaq 0x118(%rsp), %rdi
callq 0x8848
jmp 0x27da4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27c71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x8848
leaq 0xb8(%rsp), %rdi
callq 0x8848
jmp 0x27da4
leaq 0x83a15(%rip), %rsi     # 0xab69f
leaq 0x198(%rsp), %rdi
callq 0x85c0
jmp 0x27c99
jmp 0x27ccb
leaq 0x83a08(%rip), %rsi     # 0xab6aa
leaq 0x198(%rsp), %rdi
callq 0x85c0
jmp 0x27cb1
jmp 0x27ccb
leaq 0x839fb(%rip), %rsi     # 0xab6b5
leaq 0x198(%rsp), %rdi
callq 0x85c0
jmp 0x27cc9
jmp 0x27ccb
movq 0x238(%rsp), %rax
movq %rax, (%rsp)
leaq 0x78(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x81a0
jmp 0x27ceb
leaq 0x58(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x81a0
jmp 0x27cff
movq (%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x58(%rsp), %rdx
callq 0xa7eb0
jmp 0x27d14
leaq 0x58(%rsp), %rdi
callq 0x8848
leaq 0x78(%rsp), %rdi
callq 0x8848
movq 0x238(%rsp), %rdi
callq 0xa80f0
jmp 0x27d37
leaq 0x198(%rsp), %rdi
callq 0x8848
leaq 0x1c0(%rsp), %rdi
callq 0x8848
leaq 0x218(%rsp), %rdi
callq 0x8848
addq $0x248, %rsp            # imm = 0x248
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
jmp 0x27d9a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x208(%rsp)
movl %eax, 0x204(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x8848
leaq 0x78(%rsp), %rdi
callq 0x8848
leaq 0x198(%rsp), %rdi
callq 0x8848
leaq 0x1c0(%rsp), %rdi
callq 0x8848
leaq 0x218(%rsp), %rdi
callq 0x8848
movq 0x208(%rsp), %rdi
callq 0x8770
nopl (%rax,%rax)