// File: /workspace/github_cpp_makefile_star2_O3/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 0x2ab3a(%rip), %rsi     # 0x7fba0
leaq 0x2ab37(%rip), %rdx     # 0x7fba4
leaq 0x28(%rsp), %rdi
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x5509e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40880
leaq 0x2b230(%rip), %rsi     # 0x802d5
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x551bd
leaq 0x2b21e(%rip), %rsi     # 0x802da
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5524b
leaq 0x2b762(%rip), %rsi     # 0x80835
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55401
leaq 0x2b1f7(%rip), %rsi     # 0x802e1
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55409
leaq 0x2b1e5(%rip), %rsi     # 0x802e6
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55411
leaq 0x2b1d7(%rip), %rsi     # 0x802ef
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55419
leaq 0x2abdc(%rip), %rsi     # 0x7fd0b
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55421
leaq 0x2b1b7(%rip), %rsi     # 0x802fd
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5547a
leaq 0x2b1a9(%rip), %rsi     # 0x80306
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55508
leaq 0x2b19a(%rip), %rsi     # 0x8030e
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x55513
leaq 0x2b190(%rip), %rsi     # 0x8031b
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
je 0x5551e
leaq 0x2b182(%rip), %rsi     # 0x80324
movq %r12, %rdi
callq 0x3f590
testl %eax, %eax
jne 0x55529
movl $0xb, (%rbx)
jmp 0x553ef
movl $0x0, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29fda(%rip), %rsi     # 0x7f1b0
leaq 0x29fd6(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x55229
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40880
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 0x553d1
movl $0x1, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29f4c(%rip), %rsi     # 0x7f1b0
leaq 0x29f48(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x552b7
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40880
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 0x29e9d(%rip), %rsi     # 0x7f180
leaq 0x29e97(%rip), %rdx     # 0x7f181
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
movq %rax, %rdi
callq 0x41f50
movl %eax, 0x18(%rbx)
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5532a
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40880
movl 0x18(%rbx), %eax
cmpl $0x3, %eax
jne 0x553d1
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2aeb6(%rip), %rsi     # 0x801f9
leaq 0x2aeb3(%rip), %rdx     # 0x801fd
leaq 0x8(%rsp), %rdi
callq 0x3f8a0
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x1a8(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5538d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x40880
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 0x4d959(%rip), %rsi     # 0xa2d10
leaq 0x1a8(%rsp), %rdi
callq 0x41450
leaq 0x220(%rsp), %rdi
callq 0x3f730
movq 0x4d938(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
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 0x553ef
movl $0x3, (%rbx)
jmp 0x553ef
movl $0x4, (%rbx)
jmp 0x553ef
movl $0x5, (%rbx)
jmp 0x553ef
movl $0x6, (%rbx)
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x29bfb(%rip), %rsi     # 0x7f031
leaq 0x29bf8(%rip), %rdx     # 0x7f035
callq 0x3f8a0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
movq %r15, %rdi
movq %rax, %rsi
callq 0x41fe0
movq %rax, 0x8(%rbx)
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x553ef
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40880
jmp 0x553ef
movl $0x7, (%rbx)
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29d1d(%rip), %rsi     # 0x7f1b0
leaq 0x29d19(%rip), %rdx     # 0x7f1b3
leaq 0x1a8(%rsp), %rdi
callq 0x3f8a0
leaq 0x1a8(%rsp), %rsi
movq %r14, %rdi
callq 0x40f80
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x8, %edx
callq 0x41c90
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x554e6
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40880
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 0x553d1
movl $0x8, (%rbx)
jmp 0x553ef
movl $0x9, (%rbx)
jmp 0x553ef
movl $0xa, (%rbx)
jmp 0x553ef
movl $0x20, %edi
callq 0x3fb00
movq %rax, %r14
leaq 0x28(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2aded(%rip), %rsi     # 0x80332
leaq 0x2adf7(%rip), %rdx     # 0x80343
callq 0x3f8a0
movb $0x1, %bpl
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x3f890
xorl %ebp, %ebp
movq 0x4d93e(%rip), %rsi     # 0xa2ea8
movq 0x4d6c7(%rip), %rdx     # 0xa2c38
movq %r14, %rdi
callq 0x41d70
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55593
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40880
testb %bpl, %bpl
jne 0x555a0
jmp 0x55687
movq %rax, %rbx
movq %r14, %rdi
callq 0x40090
jmp 0x55687
jmp 0x55605
jmp 0x55684
jmp 0x55684
jmp 0x5564e
jmp 0x55668
movq %rax, %rbx
movq 0x4d743(%rip), %rsi     # 0xa2d10
leaq 0x1a8(%rsp), %rdi
callq 0x41450
leaq 0x220(%rsp), %rdi
callq 0x3f730
jmp 0x5562c
jmp 0x55605
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5562c
movq 0x18(%rsp), %rsi
jmp 0x55624
jmp 0x55605
jmp 0x55605
jmp 0x55684
movq %rax, %rbx
jmp 0x5562c
jmp 0x55684
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x5562c
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x40880
movq 0x4d6dd(%rip), %rsi     # 0xa2d10
leaq 0x28(%rsp), %rdi
callq 0x41450
leaq 0xa0(%rsp), %rdi
callq 0x3f730
jmp 0x55687
jmp 0x5564e
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
cmpq %r15, %rdi
je 0x55687
movq 0x1b8(%rsp), %rsi
jmp 0x5567a
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x55687
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x40880
jmp 0x55687
movq %rax, %rbx
movq %rbx, %rdi
callq 0x41f10
nop