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

{
  s << "<constructor";
  s << " parent=\"0x" << hex << parent->getId() << "\"";
  s << " first=\"" << dec << firstwhitespace << "\"";
  s << " length=\"" << minimumlength << "\"";
  s << " line=\"" << lineno << "\">\n";
  for(int4 i=0;i<operands.size();++i)
    s << "<oper id=\"0x" << hex << operands[i]->getId() << "\"/>\n";
  for(int4 i=0;i<printpiece.size();++i) {
    if (printpiece[i][0]=='\n') {
      int4 index = printpiece[i][1]-'A';
      s << "<opprint id=\"" << dec << index << "\"/>\n";
    }
    else {
      s << "<print piece=\"";
      xml_escape(s, printpiece[i].c_str()); 
      s << "\"/>\n";
    }
  }
  for(int4 i=0;i<context.size();++i)
    context[i]->saveXml(s);
  if (templ != (ConstructTpl *)0)
    templ->saveXml(s,-1);
  for(int4 i=0;i<namedtempl.size();++i) {
    if (namedtempl[i] == (ConstructTpl *)0) // Some sections may be NULL
      continue;
    namedtempl[i]->saveXml(s,i);
  }
  s << "</constructor>\n";
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x178a3(%rip), %rsi     # 0x814a1
movl $0xc, %edx
movq %rbx, %rdi
callq 0x40b90
leaq 0x174a5(%rip), %rsi     # 0x810b7
movl $0xb, %edx
movq %rbx, %rdi
callq 0x40b90
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq 0x8(%r14), %rax
movl 0x28(%rax), %esi
movq %rbx, %rdi
callq 0x3ffc0
leaq 0x1799d(%rip), %r15     # 0x815e7
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x40b90
leaq 0x1784d(%rip), %rsi     # 0x814ae
movl $0x8, %edx
movq %rbx, %rdi
callq 0x40b90
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x88(%r14), %esi
movq %rbx, %rdi
callq 0x41db0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x40b90
leaq 0x1780e(%rip), %rsi     # 0x814b7
movl $0x9, %edx
movq %rbx, %rdi
callq 0x40b90
movl 0x80(%r14), %esi
movq %rbx, %rdi
callq 0x41db0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x40b90
leaq 0x177e5(%rip), %rsi     # 0x814c1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x40b90
movl 0x90(%r14), %esi
movq %rbx, %rdi
callq 0x41db0
leaq 0x170fa(%rip), %rsi     # 0x80df9
movl $0x3, %edx
movq %rax, %rdi
callq 0x40b90
movq 0x20(%r14), %rax
cmpq 0x18(%r14), %rax
je 0x69d83
xorl %r13d, %r13d
leaq 0x177a9(%rip), %r15     # 0x814c9
leaq 0x16aed(%rip), %r12     # 0x80814
movl $0xc, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x40b90
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq 0x18(%r14), %rax
movq (%rax,%r13,8), %rax
movl 0x28(%rax), %esi
movq %rbx, %rdi
callq 0x3ffc0
movl $0x4, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x40b90
incq %r13
movq 0x20(%r14), %rax
subq 0x18(%r14), %rax
sarq $0x3, %rax
cmpq %r13, %rax
ja 0x69d27
movq 0x30(%r14), %rax
cmpq %rax, 0x38(%r14)
je 0x69e39
xorl %r15d, %r15d
leaq 0x16a79(%rip), %r12     # 0x80814
xorl %r13d, %r13d
movq (%rax,%r15), %rax
cmpb $0xa, (%rax)
jne 0x69de6
movsbl 0x1(%rax), %ebp
addl $-0x41, %ebp
movl $0xd, %edx
movq %rbx, %rdi
leaq 0x17719(%rip), %rsi     # 0x814d6
callq 0x40b90
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movl %ebp, %esi
callq 0x41db0
movq %rax, %rdi
jmp 0x69e0d
movl $0xe, %edx
movq %rbx, %rdi
leaq 0x176ef(%rip), %rsi     # 0x814e4
callq 0x40b90
movq 0x30(%r14), %rax
movq (%rax,%r15), %rsi
movq %rbx, %rdi
callq 0x3f3d0
movq %rbx, %rdi
movl $0x4, %edx
movq %r12, %rsi
callq 0x40b90
incq %r13
movq 0x30(%r14), %rax
movq 0x38(%r14), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
addq $0x20, %r15
cmpq %r13, %rcx
ja 0x69d9e
movq 0x48(%r14), %rax
cmpq %rax, 0x50(%r14)
je 0x69e6a
xorl %r15d, %r15d
movq (%rax,%r15,8), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x18(%rax)
incq %r15
movq 0x48(%r14), %rax
movq 0x50(%r14), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
cmpq %r15, %rcx
ja 0x69e46
movq 0x60(%r14), %rdi
testq %rdi, %rdi
je 0x69e80
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x3f900
movq 0x68(%r14), %rax
movq 0x70(%r14), %rcx
cmpq %rax, %rcx
je 0x69ebe
xorl %r15d, %r15d
movq (%rax,%r15,8), %rdi
testq %rdi, %rdi
je 0x69eac
movq %rbx, %rsi
movl %r15d, %edx
callq 0x3f900
movq 0x68(%r14), %rax
movq 0x70(%r14), %rcx
incq %r15
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
ja 0x69e90
leaq 0x1762e(%rip), %rsi     # 0x814f3
movl $0xf, %edx
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x40b90