[IronPython] IronPython 2.6 CodePlex Source Update

merllab at microsoft.com merllab at microsoft.com
Mon Jun 21 17:07:50 CEST 2010


This is an automated email letting you know that sources 
have recently been pushed out.  You can download these newer 
sources directly from http://ironpython.codeplex.com/SourceControl/changeset/view/70538.

MODIFIED SOURCES
	$/IronPython/IronPython_Main/Hosts/Silverlight/Microsoft.Scripting.SilverLight/Microsoft.Scripting.Silverlight.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/IronPython.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython.Modules/IronPython.Modules.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/Tests/test_conditional.py
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/Compiler/Ast/IfStatement.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonTest/IronPythonTest.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Dynamic/Utils/ReflectionUtils.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Dynamic/Interpreter/Instructions/CallInstruction.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj
	$/IronPython/IronPython_Main/Test/ClrAssembly/ClrAssembly.csproj

CHECKIN COMMENTS
--------------------------------------------------------------------------------
Changeset Id: 1875191
Date: 6/18/2010 12:12:42 PM

Fixes a stack overflow on 64-bit w/ deeply nested conditionals.  When we have a large conditional we now generate 

If cond0:
                Body
                Goto end
If cond1:
                Body
                Goto end

else_body
end:

instead of:

if cond0:
                body
else:
                if cond1:
                                body
                else:
                                else_body

That keeps the conditional flat so we don’t stack overflow.  We still generate the old way for small conditionls because it’s simpler to construct.




(Shelveset: FixStackOverflowFinal;REDMOND\dinov | SNAP CheckinId: 10949)



More information about the Ironpython-users mailing list