Browse Source

[php] do not apply var optimization until I know what genphp's problem is

Simon Krajewski 11 years ago
parent
commit
2624cc3c9b
1 changed files with 3 additions and 3 deletions
  1. 3 3
      analyzer.ml

+ 3 - 3
analyzer.ml

@@ -330,7 +330,7 @@ module Simplifier = struct
 			| el ->
 				mk (TBlock (List.rev (e :: el))) e.etype e.epos
 
-	let unapply e =
+	let unapply com e =
 		let var_map = ref IntMap.empty in
 		let rec get_assignment_to v e = match e.eexpr with
 			| TBinop(OpAssign,{eexpr = TLocal v2},e2) when v == v2 -> Some e2
@@ -345,7 +345,7 @@ module Simplifier = struct
 							| TVar(v,Some e1) when Meta.has Meta.CompilerGenerated v.v_meta ->
 								var_map := IntMap.add v.v_id (loop e1) !var_map;
 								loop2 el
-							| TVar(v,None) ->
+							| TVar(v,None) when not (com.platform = Php) ->
 								begin match el with
 									| {eexpr = TBinop(OpAssign,{eexpr = TLocal v2},e2)} :: el when v == v2 ->
 										let e = {e with eexpr = TVar(v,Some e2)} in
@@ -1234,7 +1234,7 @@ let run_ssa com config is_var_expression e =
 			e
 		in
 		let e = if not do_simplify && not (Common.raw_defined com "analyzer-no-simplify-unapply") then
-			with_timer "analyzer-simplify-unapply" (fun () -> Simplifier.unapply e)
+			with_timer "analyzer-simplify-unapply" (fun () -> Simplifier.unapply com e)
 		else
 			e
 		in