From 6493e382b5d7d264e4e8903e30bb8f5e614573af Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Sun, 18 Aug 2024 10:18:49 +0200 Subject: [PATCH] Disable bad optim (#260) disable bad optim --- src/runtime.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/runtime.ml b/src/runtime.ml index f1e45a9fc..b440df87c 100644 --- a/src/runtime.ml +++ b/src/runtime.ml @@ -1255,8 +1255,8 @@ and deref_uv ?avoid ~from ~to_ args t = (* TODO: when the UVar/Arg is not C.dummy, we call deref_uv that will call move that will call_deref_uv again. Optimize the path *) - | UVar(t,depth,args2) when from = depth+args2 -> - UVar(t,depth,args2+args') + | UVar(t,depth,0) when from = depth -> + UVar(t,depth,args') | AppUVar (r,depth,args2) -> let args = C.mkinterval from args' 0 in AppUVar (r,depth,args2 @ args) @@ -1264,7 +1264,7 @@ and deref_uv ?avoid ~from ~to_ args t = let args1 = C.mkinterval vardepth argsno 0 in let args2 = C.mkinterval from args' 0 in let args = args1 @ args2 in - AppUVar (r,vardepth,args) + mkAppUVar r vardepth args | Cons _ | Nil -> type_error "deref_uv: applied list" | Discard -> type_error "deref_uv: applied Discard" | CData _ -> t