mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 23:04:49 +00:00
shrink Call
This commit is contained in:
parent
13713ee6ad
commit
83953b0bba
5 changed files with 39 additions and 39 deletions
|
@ -28,11 +28,11 @@ pub const PRETTY_PRINT_IR_SYMBOLS: bool = false;
|
|||
// please change it to the lower number.
|
||||
// if it went up, maybe check that the change is really required
|
||||
static_assertions::assert_eq_size!([u8; 3 * 8], Literal);
|
||||
static_assertions::assert_eq_size!([u8; 13 * 8], Expr);
|
||||
static_assertions::assert_eq_size!([u8; 11 * 8], Expr);
|
||||
static_assertions::assert_eq_size!([u8; 22 * 8], Stmt);
|
||||
static_assertions::assert_eq_size!([u8; 7 * 8], ProcLayout);
|
||||
static_assertions::assert_eq_size!([u8; 12 * 8], Call);
|
||||
static_assertions::assert_eq_size!([u8; 10 * 8], CallType);
|
||||
static_assertions::assert_eq_size!([u8; 8 * 8], Call);
|
||||
static_assertions::assert_eq_size!([u8; 6 * 8], CallType);
|
||||
|
||||
macro_rules! return_on_layout_error {
|
||||
($env:expr, $layout_result:expr) => {
|
||||
|
@ -1128,7 +1128,7 @@ impl UpdateModeId {
|
|||
pub enum CallType<'a> {
|
||||
ByName {
|
||||
name: Symbol,
|
||||
ret_layout: Layout<'a>,
|
||||
ret_layout: &'a Layout<'a>,
|
||||
arg_layouts: &'a [Layout<'a>],
|
||||
specialization_id: CallSpecId,
|
||||
},
|
||||
|
@ -2027,7 +2027,7 @@ fn specialize_external<'a>(
|
|||
Symbol::ARG_CLOSURE,
|
||||
argument_symbols.into_bump_slice(),
|
||||
argument_layouts,
|
||||
*return_layout,
|
||||
return_layout,
|
||||
assigned,
|
||||
hole,
|
||||
);
|
||||
|
@ -3871,7 +3871,7 @@ pub fn with_hole<'a>(
|
|||
closure_data_symbol,
|
||||
arg_symbols,
|
||||
arg_layouts,
|
||||
*ret_layout,
|
||||
ret_layout,
|
||||
assigned,
|
||||
hole,
|
||||
);
|
||||
|
@ -3898,7 +3898,7 @@ pub fn with_hole<'a>(
|
|||
closure_data_symbol,
|
||||
arg_symbols,
|
||||
arg_layouts,
|
||||
*ret_layout,
|
||||
ret_layout,
|
||||
assigned,
|
||||
hole,
|
||||
);
|
||||
|
@ -6107,7 +6107,7 @@ fn force_thunk<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: thunk_name,
|
||||
ret_layout: layout,
|
||||
ret_layout: env.arena.alloc(layout),
|
||||
arg_layouts: &[],
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -6472,7 +6472,7 @@ fn call_by_name<'a>(
|
|||
closure_data_symbol,
|
||||
arg_symbols,
|
||||
arg_layouts,
|
||||
*ret_layout,
|
||||
ret_layout,
|
||||
assigned,
|
||||
hole,
|
||||
);
|
||||
|
@ -6596,7 +6596,7 @@ fn call_by_name_help<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: proc_name,
|
||||
ret_layout: *ret_layout,
|
||||
ret_layout: ret_layout,
|
||||
arg_layouts: argument_layouts,
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -6637,7 +6637,7 @@ fn call_by_name_help<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: proc_name,
|
||||
ret_layout: *ret_layout,
|
||||
ret_layout: ret_layout,
|
||||
arg_layouts: argument_layouts,
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -6691,7 +6691,7 @@ fn call_by_name_help<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: proc_name,
|
||||
ret_layout: *ret_layout,
|
||||
ret_layout: ret_layout,
|
||||
arg_layouts: argument_layouts,
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -6939,7 +6939,7 @@ fn call_specialized_proc<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: proc_name,
|
||||
ret_layout: function_layout.result,
|
||||
ret_layout: env.arena.alloc(function_layout.result),
|
||||
arg_layouts: function_layout.arguments,
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -6982,7 +6982,7 @@ fn call_specialized_proc<'a>(
|
|||
closure_data_symbol,
|
||||
field_symbols,
|
||||
argument_layouts.into_bump_slice(),
|
||||
function_layout.result,
|
||||
env.arena.alloc(function_layout.result),
|
||||
assigned,
|
||||
hole,
|
||||
);
|
||||
|
@ -7012,7 +7012,7 @@ fn call_specialized_proc<'a>(
|
|||
let call = self::Call {
|
||||
call_type: CallType::ByName {
|
||||
name: proc_name,
|
||||
ret_layout: function_layout.result,
|
||||
ret_layout: env.arena.alloc(function_layout.result),
|
||||
arg_layouts: function_layout.arguments,
|
||||
specialization_id: env.next_call_specialization_id(),
|
||||
},
|
||||
|
@ -8096,7 +8096,7 @@ fn match_on_lambda_set<'a>(
|
|||
closure_data_symbol: Symbol,
|
||||
argument_symbols: &'a [Symbol],
|
||||
argument_layouts: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
assigned: Symbol,
|
||||
hole: &'a Stmt<'a>,
|
||||
) -> Stmt<'a> {
|
||||
|
@ -8193,7 +8193,7 @@ fn union_lambda_set_to_switch<'a>(
|
|||
closure_data_symbol: Symbol,
|
||||
argument_symbols: &'a [Symbol],
|
||||
argument_layouts: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
assigned: Symbol,
|
||||
hole: &'a Stmt<'a>,
|
||||
) -> Stmt<'a> {
|
||||
|
@ -8237,12 +8237,12 @@ fn union_lambda_set_to_switch<'a>(
|
|||
cond_layout: closure_tag_id_layout,
|
||||
branches: branches.into_bump_slice(),
|
||||
default_branch,
|
||||
ret_layout: return_layout,
|
||||
ret_layout: *return_layout,
|
||||
};
|
||||
|
||||
let param = Param {
|
||||
symbol: assigned,
|
||||
layout: return_layout,
|
||||
layout: *return_layout,
|
||||
borrow: false,
|
||||
};
|
||||
|
||||
|
@ -8264,7 +8264,7 @@ fn union_lambda_set_branch<'a>(
|
|||
closure_data_layout: Layout<'a>,
|
||||
argument_symbols_slice: &'a [Symbol],
|
||||
argument_layouts_slice: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
) -> Stmt<'a> {
|
||||
let result_symbol = env.unique_symbol();
|
||||
|
||||
|
@ -8293,7 +8293,7 @@ fn union_lambda_set_branch_help<'a>(
|
|||
closure_data_layout: Layout<'a>,
|
||||
argument_symbols_slice: &'a [Symbol],
|
||||
argument_layouts_slice: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
assigned: Symbol,
|
||||
hole: &'a Stmt<'a>,
|
||||
) -> Stmt<'a> {
|
||||
|
@ -8339,7 +8339,7 @@ fn union_lambda_set_branch_help<'a>(
|
|||
arguments: argument_symbols,
|
||||
};
|
||||
|
||||
build_call(env, call, assigned, return_layout, hole)
|
||||
build_call(env, call, assigned, *return_layout, hole)
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
|
@ -8351,7 +8351,7 @@ fn enum_lambda_set_to_switch<'a>(
|
|||
closure_data_symbol: Symbol,
|
||||
argument_symbols: &'a [Symbol],
|
||||
argument_layouts: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
assigned: Symbol,
|
||||
hole: &'a Stmt<'a>,
|
||||
) -> Stmt<'a> {
|
||||
|
@ -8388,12 +8388,12 @@ fn enum_lambda_set_to_switch<'a>(
|
|||
cond_layout: closure_tag_id_layout,
|
||||
branches: branches.into_bump_slice(),
|
||||
default_branch,
|
||||
ret_layout: return_layout,
|
||||
ret_layout: *return_layout,
|
||||
};
|
||||
|
||||
let param = Param {
|
||||
symbol: assigned,
|
||||
layout: return_layout,
|
||||
layout: *return_layout,
|
||||
borrow: false,
|
||||
};
|
||||
|
||||
|
@ -8414,7 +8414,7 @@ fn enum_lambda_set_branch<'a>(
|
|||
closure_data_layout: Layout<'a>,
|
||||
argument_symbols_slice: &'a [Symbol],
|
||||
argument_layouts_slice: &'a [Layout<'a>],
|
||||
return_layout: Layout<'a>,
|
||||
return_layout: &'a Layout<'a>,
|
||||
) -> Stmt<'a> {
|
||||
let result_symbol = env.unique_symbol();
|
||||
|
||||
|
@ -8455,7 +8455,7 @@ fn enum_lambda_set_branch<'a>(
|
|||
},
|
||||
arguments: argument_symbols,
|
||||
};
|
||||
build_call(env, call, assigned, return_layout, env.arena.alloc(hole))
|
||||
build_call(env, call, assigned, *return_layout, env.arena.alloc(hole))
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue