This commit is contained in:
Folkert 2021-06-07 18:17:45 +02:00
parent 8dc3146a7d
commit 0754b8e3ce
4 changed files with 16 additions and 9 deletions

View file

@ -813,8 +813,6 @@ pub fn build_exp_call<'a, 'ctx, 'env>(
let callee_var = CalleeSpecVar(&bytes); let callee_var = CalleeSpecVar(&bytes);
let func_spec = func_spec_solutions.callee_spec(callee_var).unwrap(); let func_spec = func_spec_solutions.callee_spec(callee_var).unwrap();
dbg!(name, &func_spec);
roc_call_with_args( roc_call_with_args(
env, env,
&full_layout, &full_layout,
@ -2901,7 +2899,7 @@ where
let info = builder let info = builder
.build_catch_all_landing_pad( .build_catch_all_landing_pad(
&landing_pad_type, &landing_pad_type,
&BasicValueEnum::IntValue(context.i8_type().const_zero()), BasicValueEnum::IntValue(context.i8_type().const_zero()),
context.i8_type().ptr_type(AddressSpace::Generic), context.i8_type().ptr_type(AddressSpace::Generic),
"main_landing_pad", "main_landing_pad",
) )
@ -3252,10 +3250,10 @@ fn build_proc_header<'a, 'ctx, 'env>(
let args = proc.args; let args = proc.args;
let arena = env.arena; let arena = env.arena;
dbg!(&symbol, &func_spec);
let fn_name = func_spec_name(env.arena, &env.interns, symbol, func_spec); let fn_name = func_spec_name(env.arena, &env.interns, symbol, func_spec);
dbg!(&fn_name);
let ret_type = basic_type_from_layout(env, &proc.ret_layout); let ret_type = basic_type_from_layout(env, &proc.ret_layout);
let mut arg_basic_types = Vec::with_capacity_in(args.len(), arena); let mut arg_basic_types = Vec::with_capacity_in(args.len(), arena);
@ -3572,6 +3570,7 @@ pub fn build_proc<'a, 'ctx, 'env>(
// //
// * roc__mainForHost_1_Update_size() -> i64 // * roc__mainForHost_1_Update_size() -> i64
// * roc__mainForHost_1_Update_result_size() -> i64 // * roc__mainForHost_1_Update_result_size() -> i64
continue;
let evaluator_layout = env.arena.alloc(top_level).full(); let evaluator_layout = env.arena.alloc(top_level).full();
let evaluator_name = layout_ids let evaluator_name = layout_ids

View file

@ -84,6 +84,12 @@ where
for proc in procs { for proc in procs {
let spec = proc_spec(proc)?; let spec = proc_spec(proc)?;
dbg!(proc.name);
for b in &func_name_bytes(proc) {
eprint!("{:x}", b);
}
eprintln!("");
m.add_func(FuncName(&func_name_bytes(proc)), spec)?; m.add_func(FuncName(&func_name_bytes(proc)), spec)?;
if format!("{:?}", proc.name).contains("mainForHost") { if format!("{:?}", proc.name).contains("mainForHost") {
@ -127,6 +133,8 @@ where
p.build()? p.build()?
}; };
eprintln!("{}", program.to_source_string());
morphic_lib::solve(program) morphic_lib::solve(program)
} }
} }

View file

@ -19,7 +19,7 @@ use roc_types::subs::{Content, FlatType, Subs, Variable};
use std::collections::HashMap; use std::collections::HashMap;
use ven_pretty::{BoxAllocator, DocAllocator, DocBuilder}; use ven_pretty::{BoxAllocator, DocAllocator, DocBuilder};
pub const PRETTY_PRINT_IR_SYMBOLS: bool = false; pub const PRETTY_PRINT_IR_SYMBOLS: bool = true;
macro_rules! return_on_layout_error { macro_rules! return_on_layout_error {
($env:expr, $layout_result:expr) => { ($env:expr, $layout_result:expr) => {

View file

@ -7,9 +7,9 @@ app "closure"
main : Task.Task {} [] main : Task.Task {} []
main = closure1 {} main = closure1 {}
|> Task.after (\_ -> closure2 {}) # |> Task.after (\_ -> closure2 {})
|> Task.after (\_ -> closure3 {}) # |> Task.after (\_ -> closure3 {})
|> Task.after (\_ -> closure4 {}) # |> Task.after (\_ -> closure4 {})
# --- # ---