[IronPython] IronPython 2.6 CodePlex Source Update

dfugate at microsoft.com dfugate at microsoft.com
Fri Jul 17 20:33:09 CEST 2009


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/56669.

ADDED SOURCES
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Settings.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicAppManifest.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicEngine.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonType.Generated.cs

DELETED SOURCES
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Extension.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Configuration.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Package.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserPAL.cs

MODIFIED SOURCES
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Settings.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicAppManifest.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserVirtualFilesystem.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicEngine.cs
	$/IronPython/IronPython_Main/Src/IronPython/Modules/Builtin.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Repl.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_codecs.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/PointerType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/CFuncPtr.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/Field.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/_ctypes.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/UnionType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/SimpleCData.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/CFuncPtrType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/Array.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/INativeType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/Pointer.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/SimpleType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/ArrayType.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_ctypes/StructType.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/App.config
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/BrowserScriptHost.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/AppManifestTemplate.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/Microsoft.Scripting.Silverlight.csproj
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/ErrorFormatter.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/XapBuilder.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Microsoft.Scripting.Silverlight/DynamicApplication.cs
	$/IronPython/IronPython_Main/Src/Hosts/SilverLight/Chiron/Chiron.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/IFastInvokable.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_collections.cs
	$/IronPython/IronPython_Main/Config/Unsigned/App.config
	$/IronPython/IronPython_Main/Config/Signed/App.config
	$/IronPython/IronPython_Main/Src/App.config
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/Python.cs
	$/IronPython/IronPython_Main/Src/AssemblyVersion.cs
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/PythonOptionsParser.cs
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/PythonCommandLine.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/AstGenerator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonType.Generated.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Dynamic/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonOptions.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaPythonType.Calls.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Descriptors.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonDictionary.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonType.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/ObjectOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/StringOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/InstanceOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/List.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonContext.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Set.cs
	$/IronPython/IronPython_Main/Src/IronPython/IronPython.csproj
	$/IronPython/IronPython_Main/Readme.html
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Debugging/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Src/Tests/DlrComLibrary/IndexedProp.cpp
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Properties/AssemblyInfo.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Math/BigInteger.cs
	$/IronPython/IronPython_Main/Src/Tests/Inputs/RemoteConsole.py
	$/IronPython/IronPython_Main/Src/Scripts/generate_calls.py
	$/IronPython/IronPython_Main/Src/Scripts/generate.py
	$/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleHelp.Debug.out
	$/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleHelp.Release.out
	$/IronPython/IronPython_Main/Src/Tests/Modes/ConsoleFlags.ps1
	$/IronPython/IronPython_Main/Src/Tests/test_class.py
	$/IronPython/IronPython_Main/Src/Tests/test_str.py
	$/IronPython/IronPython_Main/Src/Tests/versions/python26.py

CHECKIN COMMENTS
--------------------------------------------------------------------------------
Changeset Id: 1001128
Date: 7/15/2009 5:31:19 PM

(dinov) Fixes:
19585 2.6: object.__init__ should not accept arbitrary arguments (http://bugs.python.org/issue1683368) 
	This adds the appropriate checks to object.__init__.  We now cache whether or not __init__ / __new__ is object.__init__ / object.__new__ in types and update it when it changes.  We don’t invalidate this cache when the values are deleted to match the current (buggy?  I’ve sent a mail to python-dev) CPython behavior.  This change also showed several different types that didn’t have their ctors defined quite right.  List/set/deque all need new’s.   Also added some overloads so that we don’t need to construct params arrays / kw dicts.   Switched to using  a shared lock when updating subtypes so traversing the subclass hierarchy can’t get into weird lock ordering issues.

23499 String Formatting Operations error
	PythonDict.TryGetValue should call __missing__ if it’s defined – this is just moving the code from GetItem.

Also adds pre-compiled rules for creating types.  The code to support this lives in PythonType.Generated.cs and PythonType becomes IFastInvokable.  These support a subset of the full path – basically just calling classes that only have default ctors where the type may have user defined __new__ or __init__ if they’re just simple functions.  Also making the BuiltinFunction’s used to call the base class ctor to be shared between all subtypes.  Combined this gives around a 10-15% improvement on ParrotBench which should bring is back to where we were before auto-templating was removed.



(Shelveset: TypeCtorsFinal;REDMOND\dinov | SNAP CheckinId: m9707)
--------------------------------------------------------------------------------
Changeset Id: 1001127
Date: 7/15/2009 5:29:52 PM

(dinov) Updates assembly versions for the 2.6B2 release.  Versions are rev’d to 2.6.0.20 / 0.9.6.20.

This effects IronPython, DLR (including the inner layer w/ updates to files that don’t effect the System.Core build).



(Shelveset: UpdateVersions262_Final;REDMOND\dinov | SNAP CheckinId: m9707)
--------------------------------------------------------------------------------
Changeset Id: 1000980
Date: 7/15/2009 4:17:29 PM

(dinov) Fixes a few lifetime management issues w/ ctypes and adds a –X:GCStress command line option to help flush issues like these out.

These fixes all come from a run of test_ctypes.py under –X:GCStress 2 mode.  This forces a full gen-2 collection for every single Python statement.  For the most part the issues are all things which test_ctypes is actually testing for but we didn’t see before due to our GC taking some time to kick in.  There’s still 1 remaining failure under –X:GCStress mode but that is a test issue (they read from invalid memory and don’t even expect to get a valid value back).

This also fixes 64-bit ctypes by properly defining the code in a dynamic method (previously the #ifdef’s were switched so we would define it into a type).  To test 64-bit I had to add our own version of _ctypes_test.cpp because the CRT makes picking up and running w/ CPython’s _ctypes_test.pyd I huge pain.   We now pass all of the tests on 64-bit.  For one of the functions in _ctypes_test I don’t know how to implement it so it just returns the value the test is expecting for the time being.

I’ve also fixed print(None).

23132    1              High       print(None) broken        IronPython\2.6 Beta 2                   
22900    1              High       _ctypes largely broken under x64 OSes IronPython\2.6 dinov_cp             




(Shelveset: CtypesAndGCStressFinal;REDMOND\dinov | SNAP CheckinId: m9704)
--------------------------------------------------------------------------------
Changeset Id: 998550
Date: 7/15/2009 12:50:14 PM

(dfugate) Fixed a couple of PoliCheck violations, and we now run PoliCheck on (IronPython) CodePlex zips for every SNAP checkin.


(Shelveset: IP_POLI01;REDMOND\dfugate | SNAP CheckinId: 8918)
--------------------------------------------------------------------------------
Changeset Id: 996184
Date: 7/14/2009 5:59:01 PM

generic_plan_template.py, as its name would imply, is a generic test plan template written entirely in Python docstrings.

--------------------------------------------------------------------------------
Changeset Id: 1001127
Date: 7/15/2009 5:29:52 PM

(dinov) Updates assembly versions for the 2.6B2 release.  Versions are rev’d to 2.6.0.20 / 0.9.6.20.

This effects IronPython, DLR (including the inner layer w/ updates to files that don’t effect the System.Core build).



(Shelveset: UpdateVersions262_Final;REDMOND\dinov | SNAP CheckinId: m9707)
--------------------------------------------------------------------------------
Changeset Id: 997783
Date: 7/15/2009 11:39:21 AM

(dfugate) checkin_comments.py:
- adjusted get_recent_comments to look for checkin comments in multiple directories within a TFS enlistment
- added 'Hosts\Silverlight' to the list of blessed directories that trigger IronPython Mailing List changeset descriptions

Added a single whitespace to Hosts\Silverlight\README.markdown to test out the change above.


(Shelveset: SL_COMMENTS;REDMOND\dfugate | SNAP CheckinId: 8917)



More information about the Ironpython-users mailing list