// File: /workspace/github_cpp_makefile_star2_O1/jstaursky[P]hutch/src/Sleigh/semantics.cc
// Function: ConstTpl::restoreXml(Element const*, AddrSpaceManager const*)
void ConstTpl::restoreXml(const Element *el,const AddrSpaceManager *manage)

{
  const string &typestring(el->getAttributeValue("type"));
  if (typestring == "real") {
    type = real;
    istringstream s(el->getAttributeValue("val"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> value_real;
  }
  else if (typestring=="handle") {
    type = handle;
    istringstream s(el->getAttributeValue("val"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> value.handle_index;
    select = readHandleSelector(el->getAttributeValue("s"));
    if (select == v_offset_plus) {
      istringstream s2(el->getAttributeValue("plus"));
      s2.unsetf(ios::dec | ios::hex | ios::oct);
      s2 >> value_real;
    }
  }
  else if (typestring=="start") {
    type = j_start;
  }
  else if (typestring=="next") {
    type = j_next;
  }
  else if (typestring=="curspace") {
    type = j_curspace;
  }
  else if (typestring=="curspace_size") {
    type = j_curspace_size;
  }
  else if (typestring=="spaceid") {
    type = spaceid;
    value.spaceid = manage->getSpaceByName(el->getAttributeValue("name"));
  }
  else if (typestring=="relative") {
    type = j_relative;
    istringstream s(el->getAttributeValue("val"));
    s.unsetf(ios::dec | ios::hex | ios::oct);
    s >> value_real;
  }
  else if (typestring == "flowref") {
    type = j_flowref;
  }
  else if (typestring == "flowref_size") {
    type = j_flowref_size;
  }
  else if (typestring == "flowdest") {
    type = j_flowdest;
  }
  else if (typestring == "flowdest_size") {
    type = j_flowdest_size;
  }
  else
    throw LowlevelError("Bad constant type");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2a90a(%rip), %rsi     # 0x7fba0
leaq 0x2a907(%rip), %rdx     # 0x7fba4
leaq 0x28(%rsp), %rdi
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x552ce
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x2b000(%rip), %rsi     # 0x802d5
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x553ed
leaq 0x2afee(%rip), %rsi     # 0x802da
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5547b
leaq 0x2b532(%rip), %rsi     # 0x80835
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5562f
leaq 0x2afc7(%rip), %rsi     # 0x802e1
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55637
leaq 0x2afb5(%rip), %rsi     # 0x802e6
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5563f
leaq 0x2afa7(%rip), %rsi     # 0x802ef
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55647
leaq 0x2a9ac(%rip), %rsi     # 0x7fd0b
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5564f
leaq 0x2af87(%rip), %rsi     # 0x802fd
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x556a8
leaq 0x2af79(%rip), %rsi     # 0x80306
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55736
leaq 0x2af6a(%rip), %rsi     # 0x8030e
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55741
leaq 0x2af60(%rip), %rsi     # 0x8031b
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5574c
leaq 0x2af52(%rip), %rsi     # 0x80324
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
jne 0x55757
movl $0xb, (%rbx)
jmp 0x5561d
movl $0x0, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29daa(%rip), %rsi     # 0x7f1b0
leaq 0x29da6(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c80
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x55459
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
addq $0x10, %rbx
movq %rbx, %rsi
callq 0x3fc90
jmp 0x555ff
movl $0x1, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29d1c(%rip), %rsi     # 0x7f1b0
leaq 0x29d18(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c80
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x554e7
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
leaq 0x8(%rbx), %rsi
callq 0x3fe80
leaq 0x1a8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x29c6d(%rip), %rsi     # 0x7f180
leaq 0x29c67(%rip), %rdx     # 0x7f181
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
movq %rax, %rdi
callq 0x41f40
movl %eax, 0x18(%rbx)
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x55557
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40870
cmpl $0x3, 0x18(%rbx)
jne 0x555ff
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2ac88(%rip), %rsi     # 0x801f9
leaq 0x2ac85(%rip), %rdx     # 0x801fd
leaq 0x8(%rsp), %rdi
callq 0x3f8a0
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
leaq 0x1a8(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c80
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x555bb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x1a8(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x1c0(%rsp,%rax)
addq $0x10, %rbx
movq %rbx, %rsi
callq 0x3fc90
movq 0x4d72b(%rip), %rsi     # 0xa2d10
leaq 0x1a8(%rsp), %rdi
callq 0x41440
leaq 0x220(%rsp), %rdi
callq 0x3f730
movq 0x4d70a(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41440
leaq 0xa0(%rsp), %rdi
callq 0x3f730
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x2, (%rbx)
jmp 0x5561d
movl $0x3, (%rbx)
jmp 0x5561d
movl $0x4, (%rbx)
jmp 0x5561d
movl $0x5, (%rbx)
jmp 0x5561d
movl $0x6, (%rbx)
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x299cd(%rip), %rsi     # 0x7f031
leaq 0x299ca(%rip), %rdx     # 0x7f035
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
movq %r15, %rdi
movq %rax, %rsi
callq 0x41fd0
movq %rax, 0x8(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x5561d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x5561d
movl $0x7, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29aef(%rip), %rsi     # 0x7f1b0
leaq 0x29aeb(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f70
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c80
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x55714
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40870
leaq 0x28(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
andl $-0x4b, 0x40(%rsp,%rax)
addq $0x10, %rbx
movq %rbx, %rsi
callq 0x3fc90
jmp 0x555ff
movl $0x8, (%rbx)
jmp 0x5561d
movl $0x9, (%rbx)
jmp 0x5561d
movl $0xa, (%rbx)
jmp 0x5561d
movl $0x20, %edi
callq 0x3fb00
movq %rax, %r14
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2abbf(%rip), %rsi     # 0x80332
leaq 0x2abc9(%rip), %rdx     # 0x80343
callq 0x3f8a0
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x3f890
xorl %ebp, %ebp
movq 0x4d710(%rip), %rsi     # 0xa2ea8
movq 0x4d499(%rip), %rdx     # 0xa2c38
movq %r14, %rdi
callq 0x41d60
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x557c9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x557c9
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x558b9
movq %r14, %rdi
callq 0x40080
jmp 0x558b9
jmp 0x55837
jmp 0x558b6
jmp 0x558b6
jmp 0x55880
jmp 0x5589a
movq %rax, %rbx
movq 0x4d511(%rip), %rsi     # 0xa2d10
leaq 0x1a8(%rsp), %rdi
callq 0x41440
leaq 0x220(%rsp), %rdi
callq 0x3f730
jmp 0x5585e
jmp 0x55837
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5585e
movq 0x18(%rsp), %rsi
jmp 0x55856
jmp 0x55837
jmp 0x55837
jmp 0x558b6
movq %rax, %rbx
jmp 0x5585e
jmp 0x558b6
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5585e
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40870
movq 0x4d4ab(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41440
leaq 0xa0(%rsp), %rdi
callq 0x3f730
jmp 0x558b9
jmp 0x55880
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x558b9
movq 0x1b8(%rsp), %rsi
jmp 0x558ac
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x558b9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40870
jmp 0x558b9
movq %rax, %rbx
movq %rbx, %rdi
callq 0x41f00
nop