[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