use crate::Result;
use crate::operand_stack::OperandStack;
use cranelift::frontend::FunctionBuilder;
use cranelift::prelude::{InstBuilder, types};
pub(crate) fn bipush(
function_builder: &mut FunctionBuilder,
stack: &mut OperandStack,
value: i8,
) -> Result<()> {
let value = i64::from(value);
let value = function_builder.ins().iconst(types::I32, value);
stack.push_int(function_builder, value)?;
Ok(())
}
pub(crate) fn sipush(
function_builder: &mut FunctionBuilder,
stack: &mut OperandStack,
value: i16,
) -> Result<()> {
let value = i64::from(value);
let value = function_builder.ins().iconst(types::I32, value);
stack.push_int(function_builder, value)?;
Ok(())
}