()
| 211 | |
| 212 | #[test] |
| 213 | fn dynamic_stack_slot() { |
| 214 | let mut func = Function::new(); |
| 215 | |
| 216 | let int_vector_ty = I32X4; |
| 217 | let fp_vector_ty = F64X2; |
| 218 | let scale0 = GlobalValueData::DynScaleTargetConst { |
| 219 | vector_type: int_vector_ty, |
| 220 | }; |
| 221 | let scale1 = GlobalValueData::DynScaleTargetConst { |
| 222 | vector_type: fp_vector_ty, |
| 223 | }; |
| 224 | let gv0 = func.create_global_value(scale0); |
| 225 | let gv1 = func.create_global_value(scale1); |
| 226 | let dtd0 = DynamicTypeData::new(int_vector_ty, gv0); |
| 227 | let dtd1 = DynamicTypeData::new(fp_vector_ty, gv1); |
| 228 | let dt0 = func.dfg.make_dynamic_ty(dtd0); |
| 229 | let dt1 = func.dfg.make_dynamic_ty(dtd1); |
| 230 | |
| 231 | let dss0 = func.create_dynamic_stack_slot(DynamicStackSlotData::new( |
| 232 | StackSlotKind::ExplicitDynamicSlot, |
| 233 | dt0, |
| 234 | )); |
| 235 | let dss1 = func.create_dynamic_stack_slot(DynamicStackSlotData::new( |
| 236 | StackSlotKind::ExplicitDynamicSlot, |
| 237 | dt1, |
| 238 | )); |
| 239 | assert_eq!(dss0.to_string(), "dss0"); |
| 240 | assert_eq!(dss1.to_string(), "dss1"); |
| 241 | |
| 242 | assert_eq!( |
| 243 | func.dynamic_stack_slots[dss0].to_string(), |
| 244 | "explicit_dynamic_slot dt0" |
| 245 | ); |
| 246 | assert_eq!( |
| 247 | func.dynamic_stack_slots[dss1].to_string(), |
| 248 | "explicit_dynamic_slot dt1" |
| 249 | ); |
| 250 | } |
| 251 | } |
nothing calls this directly
no test coverage detected