MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / layout

Method layout

cranelift/codegen/meta/src/cdsl/settings.rs:97–112  ·  view source on GitHub ↗
(&self, group: &SettingGroup)

Source from the content-addressed store, hash-verified

95
96impl Preset {
97 pub fn layout(&self, group: &SettingGroup) -> Vec<(u8, u8)> {
98 let mut layout: Vec<(u8, u8)> = iter::repeat((0, 0))
99 .take(group.settings_size as usize)
100 .collect();
101 for bool_index in &self.values {
102 let setting = &group.settings[bool_index.0];
103 let mask = setting.byte_mask();
104 let val = setting.byte_for_value(true);
105 assert!((val & !mask) == 0);
106 let (ref mut l_mask, ref mut l_val) =
107 *layout.get_mut(setting.byte_offset as usize).unwrap();
108 *l_mask |= mask;
109 *l_val = (*l_val & !mask) | val;
110 }
111 layout
112 }
113
114 pub fn setting_names<'a>(
115 &'a self,

Callers 1

gen_descriptorsFunction · 0.45

Calls 7

collectMethod · 0.80
byte_maskMethod · 0.80
byte_for_valueMethod · 0.80
repeatFunction · 0.50
takeMethod · 0.45
unwrapMethod · 0.45
get_mutMethod · 0.45

Tested by

no test coverage detected