MCPcopy Create free account
hub / github.com/IntegralPilot/rustc_codegen_jvm / oomir_function_stack_floor

Function oomir_function_stack_floor

src/lower2/helpers.rs:16–28  ·  view source on GitHub ↗
(function: &oomir::Function)

Source from the content-addressed store, hash-verified

14 _ => 1,
15 }
16}
17
18fn constant_load_stack_floor(constant: &oomir::Constant) -> u16 {
19 use oomir::Constant;
20 match constant {
21 Constant::Unit => 0,
22 Constant::I64(_) | Constant::U64(_) | Constant::F64(_) => 2,
23 Constant::Array(_, elements) => elements
24 .iter()
25 .map(|element| 3 + constant_load_stack_floor(element))
26 .max()
27 .unwrap_or(1),
28 Constant::Slice(element_type, elements) => {
29 let backing = Constant::Array(element_type.clone(), elements.clone());
30 (2 + constant_load_stack_floor(&backing)).max(4)
31 }

Callers 2

oomir_to_jvm_bytecodeFunction · 0.85

Calls 1

get_type_sizeFunction · 0.85

Tested by

no test coverage detected