From cccacc74f09a666bfca12fdfa9ae8af91c999dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Hou=C5=A1ka?= Date: Tue, 28 Mar 2017 23:15:34 +0200 Subject: [PATCH] Removed fixed Options.OptimizationLevels. --- .../CodeGen/Graph/BoundStatement.cs | 4 ++-- .../CodeGen/Symbols/SourceRoutineSymbol.cs | 4 ++-- .../CodeGen/Symbols/SourceTypeSymbol.cs | 10 +++++----- .../CodeGen/Symbols/SynthesizedStaticFieldsHolder.cs | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Peachpie.CodeAnalysis/CodeGen/Graph/BoundStatement.cs b/src/Peachpie.CodeAnalysis/CodeGen/Graph/BoundStatement.cs index 0baf618afa..b94cd23090 100644 --- a/src/Peachpie.CodeAnalysis/CodeGen/Graph/BoundStatement.cs +++ b/src/Peachpie.CodeAnalysis/CodeGen/Graph/BoundStatement.cs @@ -209,7 +209,7 @@ void EmitInit(Emit.PEModuleBuilder module, DiagnosticBag diagnostic, PhpCompilat holder.EmitInit(module, (il) => { - var cg = new CodeGenerator(il, module, diagnostic, OptimizationLevel.Release, false, + var cg = new CodeGenerator(il, module, diagnostic, compilation.Options.OptimizationLevel, false, holder.ContainingType, new ArgPlace(compilation.CoreTypes.Context, 1), new ArgPlace(holder, 0)); var valuePlace = new FieldPlace(cg.ThisPlaceOpt, holder.ValueField); @@ -237,7 +237,7 @@ void EmitInit(Emit.PEModuleBuilder module, DiagnosticBag diagnostic, PhpCompilat { // emit default value only if it won't be initialized by Init above - var cg = new CodeGenerator(il, module, diagnostic, OptimizationLevel.Release, false, + var cg = new CodeGenerator(il, module, diagnostic, compilation.Options.OptimizationLevel, false, holder.ContainingType, null, new ArgPlace(holder, 0)); var valuePlace = new FieldPlace(cg.ThisPlaceOpt, holder.ValueField); diff --git a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceRoutineSymbol.cs b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceRoutineSymbol.cs index 345026412f..f8439e6052 100644 --- a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceRoutineSymbol.cs +++ b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceRoutineSymbol.cs @@ -114,7 +114,7 @@ protected void GenerateGhostBody(PEModuleBuilder module, DiagnosticBag diagnosti var body = MethodGenerator.GenerateMethodBody(module, ghost, (il) => { - var cg = new CodeGenerator(il, module, diagnostic, OptimizationLevel.Release, false, this.ContainingType, this.GetContextPlace(), this.GetThisPlace()); + var cg = new CodeGenerator(il, module, diagnostic, module.Compilation.Options.OptimizationLevel, false, this.ContainingType, this.GetContextPlace(), this.GetThisPlace()); // return (T){routine}(p0, ..., pN); cg.EmitConvert(cg.EmitThisCall(this, ghost), 0, ghost.ReturnType); @@ -232,7 +232,7 @@ void SynthesizeEmptyBody(PEModuleBuilder module, DiagnosticBag diagnostic) module.SetMethodBody(this, MethodGenerator.GenerateMethodBody(module, this, (il) => { - var cg = new CodeGenerator(this, il, module, diagnostic, OptimizationLevel.Release, false); + var cg = new CodeGenerator(this, il, module, diagnostic, module.Compilation.Options.OptimizationLevel, false); // Template: return default(T) cg.EmitRetDefault(); diff --git a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceTypeSymbol.cs b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceTypeSymbol.cs index caf50c14f3..1b44ce481d 100644 --- a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceTypeSymbol.cs +++ b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SourceTypeSymbol.cs @@ -68,7 +68,7 @@ void EmitFieldsCctor(Emit.PEModuleBuilder module) // note, their initializers do not have Context available, since they are not bound to a Context var cctor = module.GetStaticCtorBuilder(this); - var cg = new CodeGenerator(cctor, module, DiagnosticBag.GetInstance(), OptimizationLevel.Release, false, this, null, null); + var cg = new CodeGenerator(cctor, module, DiagnosticBag.GetInstance(), module.Compilation.Options.OptimizationLevel, false, this, null, null); foreach (var f in sflds) { @@ -98,7 +98,7 @@ void EmitPhpCallable(Emit.PEModuleBuilder module, DiagnosticBag diagnostics) module.SetMethodBody(invoke, MethodGenerator.GenerateMethodBody(module, invoke, il => { - var cg = new CodeGenerator(il, module, diagnostics, OptimizationLevel.Release, false, this, new ParamPlace(invoke.Parameters[0]), new ArgPlace(this, 0)); + var cg = new CodeGenerator(il, module, diagnostics, module.Compilation.Options.OptimizationLevel, false, this, new ParamPlace(invoke.Parameters[0]), new ArgPlace(this, 0)); var argsplace = new ParamPlace(invoke.Parameters[1]); var args_element = ((ArrayTypeSymbol)argsplace.TypeOpt).ElementType; @@ -176,7 +176,7 @@ void EmitPhpCallable(Emit.PEModuleBuilder module, DiagnosticBag diagnostics) module.SetMethodBody(tophpvalue, MethodGenerator.GenerateMethodBody(module, tophpvalue, il => { var thisPlace = new ArgPlace(this, 0); - var cg = new CodeGenerator(il, module, diagnostics, OptimizationLevel.Release, false, this, new FieldPlace(thisPlace, this.ContextStore), thisPlace); + var cg = new CodeGenerator(il, module, diagnostics, module.Compilation.Options.OptimizationLevel, false, this, new FieldPlace(thisPlace, this.ContextStore), thisPlace); // return PhpValue.FromClass(this) cg.EmitThis(); @@ -195,7 +195,7 @@ void EmitPhpCtors(ImmutableArray instancectors, Emit.PEModuleBuild { Debug.Assert(SpecialParameterSymbol.IsContextParameter(ctor.Parameters[0])); - var cg = new CodeGenerator(il, module, diagnostics, OptimizationLevel.Release, false, this, new ParamPlace(ctor.Parameters[0]), new ArgPlace(this, 0)); + var cg = new CodeGenerator(il, module, diagnostics, module.Compilation.Options.OptimizationLevel, false, this, new ParamPlace(ctor.Parameters[0]), new ArgPlace(this, 0)); Debug.Assert(ctor.BaseCtor != null); @@ -261,7 +261,7 @@ void EmitToString(Emit.PEModuleBuilder module) module.SetMethodBody(tostring, MethodGenerator.GenerateMethodBody(module, tostring, il => { var thisPlace = new ArgPlace(this, 0); - var cg = new CodeGenerator(il, module, DiagnosticBag.GetInstance(), OptimizationLevel.Release, false, this, new FieldPlace(thisPlace, this.ContextStore), thisPlace); + var cg = new CodeGenerator(il, module, DiagnosticBag.GetInstance(), module.Compilation.Options.OptimizationLevel, false, this, new FieldPlace(thisPlace, this.ContextStore), thisPlace); if (__tostring != null) { diff --git a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SynthesizedStaticFieldsHolder.cs b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SynthesizedStaticFieldsHolder.cs index 03e9184b2d..19c931dc44 100644 --- a/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SynthesizedStaticFieldsHolder.cs +++ b/src/Peachpie.CodeAnalysis/CodeGen/Symbols/SynthesizedStaticFieldsHolder.cs @@ -24,7 +24,7 @@ internal void EmitCtors(Emit.PEModuleBuilder module) var body = MethodGenerator.GenerateMethodBody(module, ctor, (il) => { - var cg = new CodeGenerator(il, module, diagnostic, OptimizationLevel.Release, false, this, null, new ArgPlace(this, 0)); + var cg = new CodeGenerator(il, module, diagnostic, module.Compilation.Options.OptimizationLevel, false, this, null, new ArgPlace(this, 0)); // base..ctor() cg.EmitThis(); // this @@ -71,7 +71,7 @@ void EmitInit(Emit.PEModuleBuilder module) var body = MethodGenerator.GenerateMethodBody(module, initMethod, (il) => { - var cg = new CodeGenerator(il, module, diagnostic, OptimizationLevel.Release, false, this, new ArgPlace(tt.Context, 1), new ArgPlace(this, 0)); + var cg = new CodeGenerator(il, module, diagnostic, module.Compilation.Options.OptimizationLevel, false, this, new ArgPlace(tt.Context, 1), new ArgPlace(this, 0)); foreach (var fld in this.Fields) {