Пример #1
0
LValue Output::load16ZeroExt32(TypedPointer pointer)
{
    LValue load = m_block->appendNew<B3::MemoryValue>(m_proc, B3::Load16Z, B3::Int32, origin(), pointer.value());
    pointer.heap().decorateInstruction(load, *m_heaps);
    return load;
}
Пример #2
0
LValue Output::loadFloatToDouble(TypedPointer pointer)
{
    LValue load = m_block->appendNew<B3::MemoryValue>(m_proc, B3::LoadFloat, B3::Double, origin(), pointer.value());
    pointer.heap().decorateInstruction(load, *m_heaps);
    return load;
}
Пример #3
0
void Output::store(LValue value, TypedPointer pointer)
{
    LValue store = m_block->appendNew<B3::MemoryValue>(m_proc, B3::Store, origin(), value, pointer.value());
    pointer.heap().decorateInstruction(store, *m_heaps);
}
Пример #4
0
void Output::store32As16(LValue value, TypedPointer pointer)
{
    LValue store = m_block->appendNew<MemoryValue>(m_proc, Store16, origin(), value, pointer.value());
    m_heaps->decorateMemory(pointer.heap(), store);
}
Пример #5
0
LValue Output::load16ZeroExt32(TypedPointer pointer)
{
    LValue load = m_block->appendNew<MemoryValue>(m_proc, Load16Z, Int32, origin(), pointer.value());
    m_heaps->decorateMemory(pointer.heap(), load);
    return load;
}
Пример #6
0
LValue Output::load(TypedPointer pointer, LType type)
{
    LValue load = m_block->appendNew<MemoryValue>(m_proc, Load, type, origin(), pointer.value());
    m_heaps->decorateMemory(pointer.heap(), load);
    return load;
}
LValue Output::load(TypedPointer pointer, LType type)
{
    LValue load = m_block->appendNew<MemoryValue>(m_proc, Load, type, origin(), pointer.value());
    pointer.heap().decorateInstruction(load, *m_heaps);
    return load;
}