think that replaces all the printlns I care about

This commit is contained in:
2024-03-02 21:52:56 -08:00
parent e9fbd275a2
commit 745e263b69
8 changed files with 57 additions and 585 deletions

View File

@@ -260,6 +260,7 @@ impl<M: Module> Backend<M> {
/// Compile an expression, returning the Cranelift Value for the expression and
/// its type.
#[tracing::instrument(level = "trace", skip(self, variables, builder))]
fn compile_expression(
&mut self,
expr: Expression<Type>,
@@ -456,10 +457,6 @@ impl<M: Module> Backend<M> {
Some(ReferenceBuilder::Global(_, global_value)) => {
let pointer = self.module.target_config().pointer_type();
let pointer_to = builder.ins().symbol_value(pointer, *global_value);
println!(
"STORE {}: cranelift_type {} origin type {:?}",
name, value, value_type
);
builder.ins().store(MemFlags::new(), value, pointer_to, 0);
Ok((builder.ins().iconst(types::I64, 0), ConstantType::Void))
}
@@ -529,14 +526,14 @@ impl<M: Module> Backend<M> {
/// Compile a value or reference into Cranelift, returning the Cranelift Value for
/// the expression and its type.
#[tracing::instrument(level = "trace", skip(self, variables, builder))]
fn compile_value_or_ref(
&self,
valref: ValueOrRef<Type>,
value_or_ref: ValueOrRef<Type>,
variables: &HashMap<Variable, ReferenceBuilder>,
builder: &mut FunctionBuilder,
) -> Result<(entities::Value, ConstantType), BackendError> {
println!("compile_value_or_ref {:?}", valref);
match valref {
match value_or_ref {
ValueOrRef::Value(_, _, val) => match val {
Value::I8(_, v) => {
// Cranelift does a funny thing where it checks you aren't using bits in the I64
@@ -585,10 +582,6 @@ impl<M: Module> Backend<M> {
let pointer_to = self.module.target_config().pointer_type();
let pointer_value = builder.ins().symbol_value(pointer_to, *gv);
let cranelift_type = ir::Type::from(*ty);
println!(
"READ {}: cranelift_type {} origin type {:?}",
name, cranelift_type, ty
);
let value =
builder
.ins()