[IronPython] IronPython 2.6 CodePlex Source Update

merllab at microsoft.com merllab at microsoft.com
Mon Aug 2 17:13:16 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/74728.

ADDED SOURCES
	$/IronPython/IronPython_Main/Solutions/Common.proj

MODIFIED SOURCES
	$/IronPython/IronPython_Main/Hosts/MerlinWeb/examples/Web.config
	$/IronPython/IronPython_Main/Hosts/MerlinWeb/Microsoft.Scripting.AspNet/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Hosts/MerlinWeb/Microsoft.Scripting.AspNet/Microsoft.Scripting.AspNet.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/Compiler/Parser.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython.Modules/datetime.cs
	$/IronPython/IronPython_Main/Languages/IronPython/Tests/hosting/editor_svcs/tokencategorizer.py
	$/IronPython/IronPython_Main/Languages/IronPython/Scripts/generate_ops.py
	$/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/Compiler/Tokenizer.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython.Modules/IronPython.Modules.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython.Modules/time.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonConsoleAny/IronPythonConsoleAny.csproj
	$/IronPython/IronPython_Main/Hosts/Silverlight/Chiron/Chiron.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/App.config
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonWindow/IronPythonWindow.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/AssemblyVersion.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/Runtime/Operations/StringOps.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting.Metadata/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting.Metadata/Microsoft.Scripting.Metadata.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/Tests/modules/system_related/time_test.py
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Languages/IronPython/Tests/test_syntax.py
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting.Debugging/Microsoft.Scripting.Debugging.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonConsole/IronPythonConsole.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/Runtime/LiteralParser.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Dynamic/Microsoft.Dynamic.csproj
	$/IronPython/IronPython_Main/Languages/IronPython/IronPython/Compiler/TokenKind.Generated.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonTest/IronPythonTest.csproj
	$/IronPython/IronPython_Main/Hosts/Silverlight/Chiron/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Languages/IronPython/IronPythonWindowAny/IronPythonWindowAny.csproj
	$/IronPython/IronPython_Main/Config/Unsigned/App.config
	$/IronPython/IronPython_Main/Config/Signed/App.config
	$/IronPython/IronPython_Main/Solutions/Common.proj
	$/IronPython/IronPython_Main/Tools/IronStudio/Common.proj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Hosting/ScriptEngine.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Hosting/CompiledCode.cs
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Test/ClrAssembly/ClrAssembly.csproj
	$/IronPython/IronPython_Main/Runtime/Microsoft.Scripting/Hosting/ScriptSource.cs
	$/IronPython/IronPython_Main/Tools/IronStudio/IronStudio/VisualStudio/Project/Microsoft.VisualStudio.Project.csproj
	$/IronPython/IronPython_Main/Tools/IronStudio/IronPythonTools/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Tools/IronStudio/IronStudio/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Tools/IronStudio/IronPythonToolsCore/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Tools/IronStudio/IronStudioCore/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Tools/IronStudio/RemoteScriptFactory/Properties/AssemblyInfo.cs

CHECKIN COMMENTS
--------------------------------------------------------------------------------
Changeset Id: 1948052
Date: 7/30/2010 6:14:28 PM

Updated assembly version numbers for IronPython 2.7 Beta 1 now so that I can utilize IronPython Tools 2.7 A1 (which is GACed), and test the latest and greatest IronPython concurrently:
- updated IronPython assembly version number to 2.7.0.10 reflecting 2.7B1
- updated DLR assembly version number to 1.1.0.10 reflecting 1.1B1


(Shelveset: ASMVERCHANGE;REDMOND\dfugate | SNAP CheckinId: 11222)
--------------------------------------------------------------------------------
Changeset Id: 1946441
Date: 7/29/2010 8:14:52 PM

Improves memory usage of the parser/tokenizer and fixes a date/time parsing bug.    All combined this is over a 20% reduction in parser allocations while parsing the standard library.  

Parser optimizations:
                Improve FixName performance (doesn’t really matter, but String.Format is overkill here)
                Reduce allocations for ParseTestListAsExpr when there’s only a single expression (which is very common) so we don’t allocate a List every time through
                                Also simplifies the call by dropping the bool flag – only one caller passed true, and it had already checked that there was at least one expression present.
                Reduce allocations in FinishAssignments – again the  common case is 1 RHS, don’t allocate a list in that case
                Move to using a hash set for verifying unique parameter names in a function definition.
                Use the arg list for CheckUniqueArgument – this is for function calls where KW arguments are rare so iterating is cheap.

Tokenizer optimizations:
                Don’t use a dictionary for looking up keywords – instead we have generated code which pulls of each individual character and returns the KW if we hit it.
                Use a dictionary for creating only a single NameToken – define an IEqualityComparer so we can do the lookup w/o creating a temporary string.  
                                Combined this reduces string creation into 1/6th of what it was before.  These strings also all stick around w/ the AST so this is a good overall memory reduction in addition to reducing temporary allocations.
                Add back the IncompleteStringToken in state – this broken parsing of triple quoted strings in IpyTools.
                Update string parsing so that we don’t copy the string – we used make up to 3 new strings here – once for normalizing multi-line endings, once for pulling the string out to unescape, and once to produce the final string.  Now we always just produce the final string.
                Avoid boxing some integers and instead go to our int cache
                Also makes State class internal

Fixes parsing of %H/%h which need to accept single digits.  We also need to read day of week component.





(Shelveset: MemoryOpts;REDMOND\dinov | SNAP CheckinId: 11218)
--------------------------------------------------------------------------------
Changeset Id: 1948052
Date: 7/30/2010 6:14:28 PM

Updated assembly version numbers for IronPython 2.7 Beta 1 now so that I can utilize IronPython Tools 2.7 A1 (which is GACed), and test the latest and greatest IronPython concurrently:
- updated IronPython assembly version number to 2.7.0.10 reflecting 2.7B1
- updated DLR assembly version number to 1.1.0.10 reflecting 1.1B1


(Shelveset: ASMVERCHANGE;REDMOND\dfugate | SNAP CheckinId: 11222)



More information about the Ironpython-users mailing list