[IronPython] IronPython 2.6 CodePlex Source Update

merllab at microsoft.com merllab at microsoft.com
Thu Jul 23 01:31:59 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/57033.

ADDED SOURCES
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/CodeContext.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonDynamicStackFrame.cs

DELETED SOURCES
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/RuleBuilder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Ast/CodeContextExpression.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/CodeContext.cs

MODIFIED SOURCES
	$/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/Chiron/Chiron.csproj
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/ArrayGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/SavableGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/StaticGlobalAllocator.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonDeleteMemberBinder.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/OnDiskScriptCode.cs
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/Python.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaOldInstance.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaUserObject.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaPythonType.Members.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/ConversionBinder.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonBinder.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/MetaOldClass.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/_weakref.cs
	$/IronPython/IronPython_Main/Src/IronPython.Modules/IronPython.Modules.csproj
	$/IronPython/IronPython_Main/Src/IronPython/Hosting/PythonCommandLine.cs
	$/IronPython/IronPython_Main/Src/IronPython/Compiler/Ast/AstGenerator.cs
	$/IronPython/IronPython_Main/Src/IronPython/IronPython.csproj
	$/IronPython/IronPython_Main/Readme.html
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/CodeContext.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonDynamicStackFrame.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonOverloadResolver.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.Core.csproj
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Microsoft.Scripting.ExtensionAttribute.csproj
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/ActionBinder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/ConditionalBuilder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.Conversions.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting.Core/Actions/DynamicMetaObjectBinder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/BoundMemberTracker.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Bytes.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonGetMemberBinder.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonSetMemberBinder.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonProtocol.Operations.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Binding/PythonProtocol.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonFunction.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Descriptors.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Method.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/CustomAttributeTracker.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonTypeSlot.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/BuiltinFunction.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/ReflectedField.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/BuiltinMethodDescriptor.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/ReflectedProperty.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/PythonType.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/OldInstance.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Types/OldClass.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Operations/PythonOps.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/Interfaces.cs
	$/IronPython/IronPython_Main/Src/IronPython/Runtime/PythonContext.cs
	$/IronPython/IronPython_Main/Src/IronPythonTest/IronPythonTest.csproj
	$/IronPython/IronPython_Main/Src/IronPythonTest/InheritTest.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/NamespaceTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/MethodGroup.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.Operations.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/TypeTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/PropertyTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/MemberTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.DeleteMember.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/ErrorInfo.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.GetMember.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.SetMember.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/TypeGroup.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/EventTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/MethodTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/FieldTracker.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Actions/DefaultBinder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Interpreter/LightLambda.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Ast/LambdaBuilder.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Microsoft.Scripting.csproj
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/DefaultLanguageContext.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/BinderOps.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Generation/CompilerHelpers.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/IMembersList.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/DynamicStackFrame.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Runtime/ExceptionHelpers.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/CollectionUtils.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/ReadOnlyDictionary.cs
	$/IronPython/IronPython_Main/Src/Runtime/Microsoft.Scripting/Utils/SynchronizedDictionary.cs

CHECKIN COMMENTS
--------------------------------------------------------------------------------
Changeset Id: 1011160
Date: 7/21/2009 9:49:14 AM

(dinov) Moves CodeContext up into IronPython.

Wherever we had CodeContext before or an Expression for flowing CodeContext it’s been replaced w/ a OverloadResolverFactory instead.
There’s lots of now we flow full MetaObjects instead of just flowing Expressions through in the DLR binding (more cleanup could be done here in the future)
Added IPythonMembersList which takes CodeContext, made IMembersList not take it.
Removed some dead code related to old-style DLR binders

Also fixing 20262 - quoting in MSBuild files


(Shelveset: MoveCodeContextFinal2;REDMOND\dinov | SNAP CheckinId: 8965)
--------------------------------------------------------------------------------
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: 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