replace panics by CodeGen Error in codegen_x64

This commit is contained in:
Patrick Ventuzelo
2019-09-16 09:56:41 +02:00
parent 9068777aaf
commit 33ba6768bc

View File

@ -3873,7 +3873,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"),
_ => {
return Err(CodegenError {
message: "multi-value returns not yet implemented",
})
}
},
value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(),
@ -3980,7 +3984,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"),
_ => {
return Err(CodegenError {
message: "multi-value returns not yet implemented",
})
}
},
value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(),
@ -4005,7 +4013,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"),
_ => {
return Err(CodegenError {
message: "multi-value returns not yet implemented",
})
}
},
value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(),
@ -4966,7 +4978,10 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
}
}
_ => {
panic!("not yet implemented: {:?}", op);
return Err(CodegenError {
message: "not yet implemented: {:?}",
op,
});
}
}