// File: jstaursky[P]hutch/src/Sleigh/slghsymbol.cc
// Function: DecisionNode::saveXml(std::ostream&) const
void DecisionNode::saveXml(ostream &s) const

{
  s << "<decision";
  s << " number=\"" << dec << num << "\"";
  s << " context=\"";
  if (contextdecision)
    s << "true\"";
  else
    s << "false\"";
  s << " start=\"" << startbit << "\"";
  s << " size=\"" << bitsize << "\"";
  s << ">\n";
  for(int4 i=0;i<list.size();++i) {
    s << "<pair id=\"" << dec << list[i].second->getId() << "\">\n";
    list[i].first->saveXml(s);
    s << "</pair>\n";
  }
  for(int4 i=0;i<children.size();++i)
    children[i]->saveXml(s);
  s << "</decision>\n";
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rdi
leaq 0x3fff9(%rip), %rsi     # 0x1895cd
callq 0xd8300
movq 0x28(%rsp), %rdi
leaq 0x3fff2(%rip), %rsi     # 0x1895d7
callq 0xd8300
movq %rax, %rdi
movq 0x7e7a4(%rip), %rsi     # 0x1c7d98
callq 0xd1180
movq %rax, %rdi
movq 0x18(%rsp), %rax
movl 0x30(%rax), %esi
callq 0xe03e0
movq %rax, %rdi
leaq 0x3fe79(%rip), %rsi     # 0x18948c
callq 0xd8300
movq 0x28(%rsp), %rdi
leaq 0x3ffbd(%rip), %rsi     # 0x1895e1
callq 0xd8300
movq 0x18(%rsp), %rax
testb $0x1, 0x34(%rax)
je 0x149647
movq 0x28(%rsp), %rdi
leaq 0x3fc55(%rip), %rsi     # 0x189295
callq 0xd8300
jmp 0x149658
movq 0x28(%rsp), %rdi
leaq 0x3f180(%rip), %rsi     # 0x1887d3
callq 0xd8300
movq 0x28(%rsp), %rdi
leaq 0x3ff88(%rip), %rsi     # 0x1895ec
callq 0xd8300
movq %rax, %rdi
movq 0x18(%rsp), %rax
movl 0x38(%rax), %esi
callq 0xe03e0
movq %rax, %rdi
leaq 0x3fe09(%rip), %rsi     # 0x18948c
callq 0xd8300
movq 0x28(%rsp), %rdi
leaq 0x3fa87(%rip), %rsi     # 0x18911b
callq 0xd8300
movq %rax, %rdi
movq 0x18(%rsp), %rax
movl 0x3c(%rax), %esi
callq 0xe03e0
movq %rax, %rdi
leaq 0x3fdd9(%rip), %rsi     # 0x18948c
callq 0xd8300
movq 0x28(%rsp), %rdi
leaq 0x3ffaa(%rip), %rsi     # 0x18966e
callq 0xd8300
movl $0x0, 0x24(%rsp)
movq 0x18(%rsp), %rdi
movslq 0x24(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0xd5590
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x14978c
movq 0x28(%rsp), %rdi
leaq 0x3fef3(%rip), %rsi     # 0x1895f5
callq 0xd8300
movq %rax, %rdi
movq 0x7e687(%rip), %rsi     # 0x1c7d98
callq 0xd1180
movq 0x18(%rsp), %rdi
movq %rax, 0x8(%rsp)
movslq 0x24(%rsp), %rsi
callq 0xdec90
movq 0x8(%rax), %rdi
callq 0xd0940
movq 0x8(%rsp), %rdi
movl %eax, %esi
callq 0xdbce0
movq %rax, %rdi
leaq 0x3f6d3(%rip), %rsi     # 0x188e1c
callq 0xd8300
movq 0x18(%rsp), %rdi
movslq 0x24(%rsp), %rsi
callq 0xdec90
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x28(%rsp), %rdi
leaq 0x3fe89(%rip), %rsi     # 0x189600
callq 0xd8300
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x1496d1
movl $0x0, 0x20(%rsp)
movq 0x18(%rsp), %rdi
movslq 0x20(%rsp), %rax
movq %rax, (%rsp)
addq $0x18, %rdi
callq 0xd7b40
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x1497e4
movq 0x18(%rsp), %rdi
addq $0x18, %rdi
movslq 0x20(%rsp), %rsi
callq 0xd0f90
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0xd9720
movl 0x20(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x20(%rsp)
jmp 0x149794
movq 0x28(%rsp), %rdi
leaq 0x3fe19(%rip), %rsi     # 0x189609
callq 0xd8300
addq $0x38, %rsp
retq
nopw (%rax,%rax)