Pārlūkot izejas kodu

fixed #3218 leading to check error

Nicolas Cannasse 8 gadi atpakaļ
vecāks
revīzija
d528a5eafc
1 mainītis faili ar 1 papildinājumiem un 0 dzēšanām
  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;
 			if dstate then print_state i state;
 			(match op with
 			(match op with
 			| OIncr r | ODecr r | ORef (_,r) ->  do_write r
 			| 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 op = opcode_map (fun r ->
 				let s = state.(r) in
 				let s = state.(r) in