Switch branches/tags
Commits on Sep 18, 2001
  1. This commit was manufactured by cvs2svn to create tag 'MONO_0_7'.

    svn path=/tags/MONO_0_7/mono/; revision=871
    nobody committed Sep 18, 2001
  2. Flush

    svn path=/trunk/mono/; revision=870
    migueldeicaza committed Sep 18, 2001
  3. 2001-09-18 Miguel de Icaza <>

    	* expression.cs (This::Emit): Implement.
    	(This::Resolve): Implement.
    	(TypeOf:Resolve): Implement.
    	(Expression::ResolveSimpleName): Add an implicit this to instance
    	field references.
    	(MemberAccess::Resolve): Deal with Parameters and Fields.
    	Bind instance variable to Field expressions.
    	(FieldExpr::Instance): New field used to track the expression that
    	represents the object instance.
    	(FieldExpr::Resolve): Track potential errors from MemberLookup not
    	(FieldExpr::Emit): Implement.
    	* codegen.cs (EmitIf, EmitStatement, EmitBlock): Propagate whether
    	the last instruction contains a return opcode to avoid generating
    	the last `ret' instruction (this generates correct code, and it is
    	nice to pass the peverify output).
    	* class.cs (TypeContainer::EmitFieldInitializers): Implement field
    	initializer for static and instance variables.
    	(Constructor::Emit): Allow initializer to be null in the case of
    	static constructors.  Only emit initializer for instance
    	(TypeContainer::FindMembers): Return a null array if there are no
    	Also fix the code for the MemberTypes.Method branch, as it was not
    	scanning that for operators (or tried to access null variables before).
    	* assign.cs (Assign::Emit): Handle instance and static fields.
    	* TODO: Updated.
    	* driver.cs: Stop compilation if there are parse errors.
    	* cs-parser.jay (constructor_declaration): Provide default base
    	initializer for non-static constructors.
    	(constructor_declarator): Do not provide a default base
    	initializers if none was specified.
    	Catch the fact that constructors should not have parameters.
    	* class.cs: Do not emit parent class initializers for static
    	constructors, that should be flagged as an error.
    svn path=/trunk/mcs/; revision=869
    migueldeicaza committed Sep 18, 2001
  4. 2001-09-18 Ravi Pratap <>

    	* class.cs (RegisterMethodBuilder): Remove : it's unnecessary.
    	Move back code into TypeContainer::Populate.
    svn path=/trunk/mcs/; revision=868
    Ravi Pratap M committed Sep 18, 2001
  5. 2001-09-18 Ravi Pratap <>

    	* class.cs (TypeContainer::AddConstructor): Fix the check to
    	compare against Name, not Basename.
    	(Operator::OpType): Change Plus and Minus to Add and Subtract.
    	* cs-parser.jay : Update accordingly.
    	* class.cs (TypeContainer::FindMembers): For the case where we are searching
    	for methods, don't forget to look into the operators too.
    	(RegisterMethodBuilder): Helper method to take care of this for
    	methods, constructors and operators.
    	(Operator::Define): Completely revamp.
    	(Operator.OperatorMethod, MethodName): New fields.
    	(TypeContainer::Populate): Move the registering of builders into
    	(Operator::Emit): Re-write.
    	* expression.cs (Binary::Emit): Comment out code path to emit method
    	invocation stuff for the case when we have a user defined operator. I am
    	just not able to get it right !
    svn path=/trunk/mcs/; revision=867
    Ravi Pratap M committed Sep 18, 2001
  6. 2001-09-18 Dietmar Maurer <>

    	* x86.brg: added some rules to optimize code
    	* testjit.c (get_address): use a binary search to get the address
    	(main): added an option to debug the jit (-d)
    svn path=/trunk/mono/; revision=866
    Dietmar Maurer committed Sep 18, 2001
  7. Tue Sep 18 13:23:59 CEST 2001 Paolo Molaro <>

    	* x86/x86-codegen.h: remove C++ comments.
    svn path=/trunk/mono/; revision=865
    illupus committed Sep 18, 2001
  8. Tue Sep 18 13:21:33 CEST 2001 Paolo Molaro <>

    	* interp.c: fix some 64 bit issues. Safer support for delegates.
    svn path=/trunk/mono/; revision=864
    illupus committed Sep 18, 2001
  9. Tue Sep 18 13:19:16 CEST 2001 Paolo Molaro <>

    	* testjit.c: better/faster align code. Handle ldloc.s and stloc.s.
    svn path=/trunk/mono/; revision=863
    illupus committed Sep 18, 2001
  10. Tue Sep 18 13:16:32 CEST 2001 Paolo Molaro <>

    	* class.h, class.c: add mono_class_get_field_from_name ().
    	* *: Fix C comments and other ANSI C issues.
    svn path=/trunk/mono/; revision=862
    illupus committed Sep 18, 2001
  11. Tue Sep 18 13:15:12 CEST 2001 Paolo Molaro <>

    	* monoburg.y: fix ANSI C issue.
    svn path=/trunk/mono/; revision=861
    illupus committed Sep 18, 2001
  12. Updates.

    svn path=/trunk/mono/; revision=860
    illupus committed Sep 18, 2001
  13. 2001-09-17 Miguel de Icaza <>

    	* expression.cs (Expression::OverloadResolve): Drop TypeContainer
    	(Expression::MemberLookup): Provide a version that allows to
    	specify the MemberTypes and BindingFlags.
    	* statement.cs (Block::GetVariableInfo): Forgot to recurse here,
    	so it was not fetching variable information from outer blocks.
    	* modifiers.cs: (Modifiers::TypeAttr): Invert condition on
    	Beforefieldinit as it was buggy.
    	* rootcontext.cs (::LookupInterfaceOrClass): Removed an Error -200
    	that Ravi put here.
    	* class.cs (Constructor::Emit): Only emit if block is not null.
    	(TypeContainer::EmitDefaultConstructor): Removed routine, now we
    	deal with this by semantically definining it as if the user had
    	done it.
    	(TypeContainer::FindMembers): Removed ad-hoc hack to deal with
    	constructors as we now "emit" them at a higher level.
    	(TypeContainer::DefineDefaultConstructor): Used to define the
    	default constructors if none was provided.
    	(ConstructorInitializer): Add methods Resolve and Emit.
    	* expression.cs: Cast to ConstructorInfo instead of MethodInfo
    svn path=/trunk/mcs/; revision=857
    migueldeicaza committed Sep 18, 2001
Commits on Sep 17, 2001
  1. 2001-09-17 Miguel de Icaza <>

    	* testjit.c (mono_compile_method): Provide better error reporting.
    svn path=/trunk/mono/; revision=856
    migueldeicaza committed Sep 17, 2001
  2. Unfinished work

    svn path=/trunk/mcs/; revision=855
    migueldeicaza committed Sep 17, 2001
  3. Plata

    svn path=/trunk/mono/; revision=854
    migueldeicaza committed Sep 17, 2001
  4. Gigante

    svn path=/trunk/mono/; revision=853
    migueldeicaza committed Sep 17, 2001
  5. 2001-09-17 Ravi Pratap <>

    	* class.cs (TypeContainer::EmitDefaultConstructor): Register
    	the default constructor builder with our hashtable for methodbuilders
    	to methodcores.
    	* expression.cs (Invocation::OverloadResolve): Add a check for pd == null
    	and argument_count is 0 in which case we have a match.
    	(Binary::ResolveOperator): More null checking and miscellaneous coding
    	style cleanup.
    svn path=/trunk/mcs/; revision=852
    Ravi Pratap M committed Sep 17, 2001
  6. Include Calendar.cs to the build

    svn path=/trunk/mcs/; revision=851
    migueldeicaza committed Sep 17, 2001
  7. Updated sources file

    svn path=/trunk/mcs/; revision=850
    migueldeicaza committed Sep 17, 2001
  8. Add new files from Wictor Wilen

    svn path=/trunk/mcs/; revision=849
    migueldeicaza committed Sep 17, 2001
  9. More updates

    svn path=/trunk/mono/; revision=848
    migueldeicaza committed Sep 17, 2001
  10. Update

    svn path=/trunk/mono/; revision=847
    migueldeicaza committed Sep 17, 2001
  11. Add the CVS download information

    svn path=/trunk/mono/; revision=846
    migueldeicaza committed Sep 17, 2001
  12. (tree_get_address): make sure that we can only jump to the first

    	instruction of a tree.
    svn path=/trunk/mono/; revision=845
    Dietmar Maurer committed Sep 17, 2001
  13. 2001-09-17 Dietmar Maurer <>

    	* testjit.c (tree_get_address): impl. to fix address bug
    svn path=/trunk/mono/; revision=844
    Dietmar Maurer committed Sep 17, 2001
  14. 2001-09-17 Ravi Pratap <>

    	* rootcontext.cs (IsNameSpace): Compare against null.
    	* everywhere : Correct spelling to 'Greater' and to 'Subtract'
    	* class.cs (Operator::OpType): Change names to match the ones in Binary::Operator
    	and Unary::Operator.
    	* cs-parser.jay (operator_declaration, CheckBinaryOperator, CheckUnaryOperator): Update
    	* expression.cs (Binary::method): New member to hold the MethodBase for the case when
    	we have overloaded operators.
    	(Binary::ResolveOperator): Implement the part which does the operator overload
    	* class.cs (Operator::Emit): Implement.
    	(TypeContainer::Emit): Emit the operators we have too.
    	* expression.cs (Binary::Emit): Update to emit the appropriate code for
    	the case when we have a user-defined operator.
    svn path=/trunk/mcs/; revision=843
    Ravi Pratap M committed Sep 17, 2001
  15. 2001-09-17 Dietmar Maurer <>

    	* x86.brg: emit real code for calls
    	* testjit.c (create_jit_trampoline): creates a function to trigger jit
    	(mono_compile_method): reversed argument order
    svn path=/trunk/mono/; revision=842
    Dietmar Maurer committed Sep 17, 2001
  16. 2001-09-17 Dietmar Maurer <>

    	* x86/x86-codegen.h (x86_alu_reg_reg): replaced src/dest
    svn path=/trunk/mono/; revision=841
    Dietmar Maurer committed Sep 17, 2001
  17. Checked in updates from Gaurav Vaish

    svn path=/trunk/mcs/; revision=840
    migueldeicaza committed Sep 17, 2001
  18. 2001-09-17 Miguel de Icaza <>

    	* rootcontext.cs: Fix bug: tree.Namespaces might be null.
    svn path=/trunk/mcs/; revision=839
    migueldeicaza committed Sep 17, 2001
  19. Add news item on Gtk#

    svn path=/trunk/mono/; revision=838
    migueldeicaza committed Sep 17, 2001
Commits on Sep 16, 2001
  1. * Added a bunch of Token structs (all are generated from template).

     * common.src: added new structs to the build and fixed a small typo.
    svn path=/trunk/mcs/; revision=833
    Sergey Chaban committed Sep 16, 2001
  2. 2001-09-16 Ravi Pratap <>

    	* class.cs (EmitStaticFieldInitializers, EmitFieldInitializers): Make public.
    	(TypeContainer::EmitConstructor): Remove and move code into Contructor::Emit.
    	(Constructor::Emit): Implement.
    	(EmitStaticFieldInitializers, EmitFieldInitializers): Ensure we return immediately
    	if we have no work to do.
    	(TypeContainer::Emit): Pass in TypeContainer as argument to the constructor's
    	Emit method.
    	* interface.cs (Interface::InterfaceAttr): Re-write to be more correct and complete.
    	(Interface::IsTopLevel): Add. Same as TypeContainer::IsTopLevel.
    	* class.cs (TypeContainer::IsTopLevel): Modify to use parent.Parent instead
    	of parent.parent.
    svn path=/trunk/mcs/; revision=832
    Ravi Pratap M committed Sep 16, 2001
  3. * common.src: added PackingSize.cs;

    svn path=/trunk/mcs/; revision=831
    Sergey Chaban committed Sep 16, 2001