mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 16:44:33 +00:00
stop emitting invoke again
This commit is contained in:
parent
dca577df82
commit
8effd19ff9
2 changed files with 21 additions and 12 deletions
|
@ -6197,13 +6197,22 @@ fn can_throw_exception(call: &Call) -> bool {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn build_call<'a>(
|
fn build_call<'a>(
|
||||||
env: &mut Env<'a, '_>,
|
env: &mut Env<'a, '_>,
|
||||||
call: Call<'a>,
|
call: Call<'a>,
|
||||||
assigned: Symbol,
|
assigned: Symbol,
|
||||||
return_layout: Layout<'a>,
|
return_layout: Layout<'a>,
|
||||||
hole: &'a Stmt<'a>,
|
hole: &'a Stmt<'a>,
|
||||||
|
) -> Stmt<'a> {
|
||||||
|
Stmt::Let(assigned, Expr::Call(call), return_layout, hole)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build_call_old<'a>(
|
||||||
|
env: &mut Env<'a, '_>,
|
||||||
|
call: Call<'a>,
|
||||||
|
assigned: Symbol,
|
||||||
|
return_layout: Layout<'a>,
|
||||||
|
hole: &'a Stmt<'a>,
|
||||||
) -> Stmt<'a> {
|
) -> Stmt<'a> {
|
||||||
if can_throw_exception(&call) {
|
if can_throw_exception(&call) {
|
||||||
let id = ExceptionId(env.unique_symbol());
|
let id = ExceptionId(env.unique_symbol());
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
procedure Num.24 (#Attr.2, #Attr.3):
|
procedure Num.24 (#Attr.2, #Attr.3):
|
||||||
let Test.25 = lowlevel NumAdd #Attr.2 #Attr.3;
|
let Test.24 = lowlevel NumAdd #Attr.2 #Attr.3;
|
||||||
ret Test.25;
|
ret Test.24;
|
||||||
|
|
||||||
procedure Num.26 (#Attr.2, #Attr.3):
|
procedure Num.26 (#Attr.2, #Attr.3):
|
||||||
let Test.19 = lowlevel NumMul #Attr.2 #Attr.3;
|
let Test.19 = lowlevel NumMul #Attr.2 #Attr.3;
|
||||||
ret Test.19;
|
ret Test.19;
|
||||||
|
|
||||||
procedure Test.1 ():
|
procedure Test.1 ():
|
||||||
let Test.27 = 1i64;
|
let Test.25 = 1i64;
|
||||||
ret Test.27;
|
ret Test.25;
|
||||||
|
|
||||||
procedure Test.2 ():
|
procedure Test.2 ():
|
||||||
let Test.21 = 2i64;
|
let Test.20 = 2i64;
|
||||||
ret Test.21;
|
ret Test.20;
|
||||||
|
|
||||||
procedure Test.3 (Test.6):
|
procedure Test.3 (Test.6):
|
||||||
let Test.24 = CallByName Test.1;
|
let Test.23 = CallByName Test.1;
|
||||||
let Test.23 = CallByName Num.24 Test.6 Test.24;
|
let Test.22 = CallByName Num.24 Test.6 Test.23;
|
||||||
ret Test.23;
|
ret Test.22;
|
||||||
|
|
||||||
procedure Test.4 (Test.7):
|
procedure Test.4 (Test.7):
|
||||||
let Test.18 = CallByName Test.2;
|
let Test.18 = CallByName Test.2;
|
||||||
|
@ -34,8 +34,8 @@ procedure Test.0 ():
|
||||||
let Test.11 = CallByName Test.5 Test.12 Test.13;
|
let Test.11 = CallByName Test.5 Test.12 Test.13;
|
||||||
ret Test.11;
|
ret Test.11;
|
||||||
in
|
in
|
||||||
let Test.22 = true;
|
let Test.21 = true;
|
||||||
if Test.22 then
|
if Test.21 then
|
||||||
let Test.3 = Struct {};
|
let Test.3 = Struct {};
|
||||||
jump Test.16 Test.3;
|
jump Test.16 Test.3;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue