// File: /workspace/github_cpp_makefile_star2_O3/jstaursky[P]hutch/src/Sleigh/slghsymbol.cc
// Function: ContextCommit::restoreXml(Element const*, SleighBase*)
void ContextCommit::restoreXml(const Element *el,SleighBase *trans)

{
  uintm id;
  {
    istringstream s(el->getAttributeValue("id"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> id;
    sym = (TripleSymbol *)trans->findSymbol(id);
  }
  {
    istringstream s(el->getAttributeValue("num"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> num;
  }
  {
    istringstream s(el->getAttributeValue("mask"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> mask;
  }
  if (el->getNumAttributes()==4)
    flow = xml_readbool(el->getAttributeValue("flow"));
  else
    flow = true;		// Default is to flow.  flow=true
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x122b8(%rip), %rsi     # 0x7fd10
leaq 0x122b3(%rip), %rdx     # 0x7fd12
movq %rsp, %rdi
callq 0x3f8a0
movq %rsp, %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x6da9a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x40880
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
leaq 0x24(%rsp), %rsi
callq 0x41ec0
movl 0x24(%rsp), %eax
movq 0x198(%r15), %rcx
movq (%rcx,%rax,8), %rax
movq %rax, 0x8(%rbx)
movq 0x35241(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
leaq 0xa0(%rsp), %rdi
callq 0x3f730
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x11511(%rip), %rsi     # 0x7f004
leaq 0x1150d(%rip), %rdx     # 0x7f007
callq 0x3f8a0
movq %rsp, %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x6db32
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x40880
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
leaq 0x10(%rbx), %rsi
callq 0x3fe80
movq 0x351bd(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
leaq 0xa0(%rsp), %rdi
callq 0x3f730
movq %rsp, %rdi
movq %r12, (%rdi)
leaq 0x12a94(%rip), %rsi     # 0x8060b
leaq 0x12a91(%rip), %rdx     # 0x8060f
callq 0x3f8a0
movq %rsp, %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x6dbb6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x40880
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
leaq 0x14(%rbx), %rsi
callq 0x41ec0
movq 0x35139(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
leaq 0xa0(%rsp), %rdi
callq 0x3f730
movq 0x48(%r14), %rax
subq 0x40(%r14), %rax
movabsq $0x1fffffffe0, %rcx     # imm = 0x1FFFFFFFE0
andq %rax, %rcx
cmpq $0x80, %rcx
jne 0x6dc76
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x136b2(%rip), %rsi     # 0x812ce
leaq 0x136af(%rip), %rdx     # 0x812d2
leaq 0x28(%rsp), %rdi
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
cmpq $0x0, 0x8(%rax)
je 0x6dc58
movq (%rax), %rax
movzbl (%rax), %ecx
movb $0x1, %al
cmpl $0x31, %ecx
je 0x6dc5a
cmpl $0x74, %ecx
je 0x6dc5a
cmpl $0x79, %ecx
je 0x6dc5a
xorl %eax, %eax
movb %al, 0x18(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x6dc7a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40880
jmp 0x6dc7a
movb $0x1, 0x18(%rbx)
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x6dcec
movq 0x38(%rsp), %rsi
jmp 0x6dce4
jmp 0x6dcca
jmp 0x6dca7
jmp 0x6dcca
jmp 0x6dca7
jmp 0x6dcca
movq %rax, %rbx
movq 0x3505f(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
leaq 0xa0(%rsp), %rdi
callq 0x3f730
jmp 0x6dcec
movq %rax, %rbx
jmp 0x6dcec
jmp 0x6dcd3
jmp 0x6dcd3
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x6dcec
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x40880
movq %rbx, %rdi
callq 0x41f10