Explorar o código

fixed #3218 leading to check error

Nicolas Cannasse %!s(int64=8) %!d(string=hai) anos
pai
achega
d528a5eafc
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/generators/hlopt.ml

+ 1 - 0
src/generators/hlopt.ml

@@ -565,6 +565,7 @@ let optimize dump (f:fundecl) =
 			if dstate then print_state i state;
 			(match op with
 			| OIncr r | ODecr r | ORef (_,r) ->  do_write r
+			| OCallClosure (_,r,_) when f.regs.(r) = HDyn && (match f.regs.(state.(r).ralias.rindex) with HFun (_,rt) -> not (is_dynamic rt) | HDyn -> false | _ -> true) -> do_write r (* Issue3218.hx *)
 			| _ -> ());
 			let op = opcode_map (fun r ->
 				let s = state.(r) in