Cosmetic: reorganise WasmLayout match statment

This commit is contained in:
Brian Carroll 2021-09-13 23:45:02 +02:00
parent b18567f0cc
commit 672aa14f7c

View file

@ -41,36 +41,44 @@ pub enum WasmLayout {
impl WasmLayout { impl WasmLayout {
fn new(layout: &Layout) -> Self { fn new(layout: &Layout) -> Self {
use roc_mono::layout::Builtin::*;
use UnionLayout::*;
use ValueType::*; use ValueType::*;
let size = layout.stack_size(PTR_SIZE); let size = layout.stack_size(PTR_SIZE);
match layout { match layout {
Layout::Builtin(Builtin::Int128) => Self::StackMemory(size), Layout::Builtin(Int32 | Int16 | Int8 | Int1 | Usize) => Self::LocalOnly(I32, size),
Layout::Builtin(Builtin::Int64) => Self::LocalOnly(I64, size),
Layout::Builtin(Builtin::Int32) => Self::LocalOnly(I32, size), Layout::Builtin(Int64) => Self::LocalOnly(I64, size),
Layout::Builtin(Builtin::Int16) => Self::LocalOnly(I32, size),
Layout::Builtin(Builtin::Int8) => Self::LocalOnly(I32, size), Layout::Builtin(Float32 | Float16) => Self::LocalOnly(F32, size),
Layout::Builtin(Builtin::Int1) => Self::LocalOnly(I32, size),
Layout::Builtin(Builtin::Usize) => Self::LocalOnly(I32, size), Layout::Builtin(Float64) => Self::LocalOnly(F64, size),
Layout::Builtin(Builtin::Decimal) => Self::StackMemory(size),
Layout::Builtin(Builtin::Float128) => Self::StackMemory(size), Layout::Builtin(
Layout::Builtin(Builtin::Float64) => Self::LocalOnly(F64, size), Int128
Layout::Builtin(Builtin::Float32) => Self::LocalOnly(F32, size), | Decimal
Layout::Builtin(Builtin::Float16) => Self::LocalOnly(F32, size), | Float128
Layout::Builtin(Builtin::Str) => Self::StackMemory(size), | Str
Layout::Builtin(Builtin::Dict(_, _)) => Self::StackMemory(size), | Dict(_, _)
Layout::Builtin(Builtin::Set(_)) => Self::StackMemory(size), | Set(_)
Layout::Builtin(Builtin::List(_)) => Self::StackMemory(size), | List(_)
Layout::Builtin(Builtin::EmptyStr) => Self::StackMemory(size), | EmptyStr
Layout::Builtin(Builtin::EmptyList) => Self::StackMemory(size), | EmptyList
Layout::Builtin(Builtin::EmptyDict) => Self::StackMemory(size), | EmptyDict
Layout::Builtin(Builtin::EmptySet) => Self::StackMemory(size), | EmptySet,
Layout::Struct(_) => Self::StackMemory(size), )
Layout::Union(UnionLayout::NonRecursive(_)) => Self::StackMemory(size), | Layout::Struct(_)
Layout::Union(UnionLayout::Recursive(_)) => Self::HeapMemory, | Layout::Union(NonRecursive(_)) => Self::StackMemory(size),
Layout::Union(UnionLayout::NonNullableUnwrapped(_)) => Self::HeapMemory,
Layout::Union(UnionLayout::NullableWrapped { .. }) => Self::HeapMemory, Layout::Union(
Layout::Union(UnionLayout::NullableUnwrapped { .. }) => Self::HeapMemory, Recursive(_)
Layout::RecursivePointer => Self::HeapMemory, | NonNullableUnwrapped(_)
| NullableWrapped { .. }
| NullableUnwrapped { .. },
)
| Layout::RecursivePointer => Self::HeapMemory,
} }
} }