shrink higher order with indirection

This commit is contained in:
Folkert 2021-11-13 15:42:47 +01:00
parent 783e425b0c
commit e2f7606f25
9 changed files with 90 additions and 72 deletions

View file

@ -10,8 +10,8 @@ use roc_module::symbol::Symbol;
use std::convert::TryFrom;
use crate::ir::{
Call, CallType, Expr, HostExposedLayouts, ListLiteralElement, Literal, ModifyRc, OptLevel,
Proc, Stmt,
Call, CallType, Expr, HigherOrderLowLevel, HostExposedLayouts, ListLiteralElement, Literal,
ModifyRc, OptLevel, Proc, Stmt,
};
use crate::layout::{Builtin, Layout, ListLayout, RawFunctionLayout, UnionLayout};
@ -688,7 +688,7 @@ fn call_spec(
*update_mode,
call.arguments,
),
HigherOrderLowLevel {
HigherOrder(HigherOrderLowLevel {
specialization_id,
closure_env_layout,
update_mode,
@ -698,7 +698,7 @@ fn call_spec(
function_name,
function_env,
..
} => {
}) => {
use crate::low_level::HigherOrder::*;
let array = specialization_id.to_bytes();