mono.git
22 years ago2001-09-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Sep 2001 17:43:26 +0000 (17:43 -0000)]
2001-09-27  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Cast::Resolve): First resolve the child expression.

svn path=/trunk/mcs/; revision=1010

22 years ago2001-09-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Sep 2001 17:36:55 +0000 (17:36 -0000)]
2001-09-27  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (LValue): Add new method AddressOf to be used by
the `&' operator.

Change the argument of Store to take an EmitContext instead of an
ILGenerator, because things like FieldExpr need to be able to call
their children expression to generate the instance code.

(Expression::Error, Expression::Warning): Sugar functions for
reporting errors.

(Expression::MemberLookup): Accept a TypeContainer instead of a
Report as the first argument.

(Expression::ResolvePrimary): Killed.  I still want to improve
this as currently the code is just not right.

(Expression::ResolveMemberAccess): Simplify, but it is still
wrong.

(Unary::Resolve): Catch errors in AddressOf operators.

(LocalVariableReference::Emit, ::Store, ::AddressOf): typecast
index to a byte for the short-version, or the compiler will choose
the wrong Emit call, which generates the wrong data.

(ParameterReference::Emit, ::Store): same.

(FieldExpr::AddressOf): Implement.

* typemanager.cs: TypeManager: made public variable instead of
property.

* driver.cs: document --fatal.

* report.cs (ErrorMessage, WarningMessage): new names for the old
Error and Warning classes.

* cs-parser.jay (member_access): Turn built-in access to types
into a normal simplename

svn path=/trunk/mcs/; revision=1009

22 years agoFix bug in BetterConversion and in ConvertImplicit
Ravi Pratap M [Thu, 27 Sep 2001 17:17:18 +0000 (17:17 -0000)]
Fix bug in BetterConversion and in ConvertImplicit

svn path=/trunk/mcs/; revision=1007

22 years agoAdd tests again so that they are included in make dist.
Paolo Molaro [Thu, 27 Sep 2001 17:05:26 +0000 (17:05 -0000)]
Add tests again so that they are included in make dist.

svn path=/trunk/mono/; revision=1006

22 years agoThu Sep 27 21:45:55 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 27 Sep 2001 15:49:54 +0000 (15:49 -0000)]
Thu Sep 27 21:45:55 CEST 2001 Paolo Molaro <lupus@ximian.com>

* rawbuffer.c: disable mmap on cygwin since it seems to be broken there.

svn path=/trunk/mono/; revision=1005

22 years agoThu Sep 27 19:52:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 27 Sep 2001 13:57:46 +0000 (13:57 -0000)]
Thu Sep 27 19:52:11 CEST 2001 Paolo Molaro <lupus@ximian.com>

* class.c, loader.c: warn and return NULL instead of erroring out.
* icall.c: added System.AppDomain::getCurDomain().
* loader.c: we don't need to lookup the typedef again for p/invoke calls.

svn path=/trunk/mono/; revision=1004

22 years agoSome more stubs and fixes.
Paolo Molaro [Thu, 27 Sep 2001 13:51:14 +0000 (13:51 -0000)]
Some more stubs and fixes.

svn path=/trunk/mcs/; revision=1003

22 years agoAdd more tests to compare our cast code
Miguel de Icaza [Thu, 27 Sep 2001 13:39:40 +0000 (13:39 -0000)]
Add more tests to compare our cast code

svn path=/trunk/mcs/; revision=1002

22 years ago2001-09-27 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Sep 2001 12:51:06 +0000 (12:51 -0000)]
2001-09-27  Ravi Pratap  <ravi@ximian.com>

* expression.cs (UserImplicitCast::Resolve): Fix bug.

svn path=/trunk/mcs/; revision=1001

22 years ago2001-09-27 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Sep 2001 12:43:56 +0000 (12:43 -0000)]
2001-09-27  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Uncomment lines True operator overload now works.

svn path=/trunk/mcs/; revision=1000

22 years agoAdd a comment to Cast type
Miguel de Icaza [Thu, 27 Sep 2001 12:27:08 +0000 (12:27 -0000)]
Add a comment to Cast type

svn path=/trunk/mcs/; revision=999

22 years agocleanup
Dietmar Maurer [Thu, 27 Sep 2001 11:43:34 +0000 (11:43 -0000)]
cleanup

svn path=/trunk/mono/; revision=998

22 years ago2001-09-27 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Thu, 27 Sep 2001 10:41:13 +0000 (10:41 -0000)]
2001-09-27  Dietmar Maurer  <dietmar@ximian.com>

* testjit.c: impl. LDIND/STIND/LDLOCA, use g_malloc to alloc static
data.
(map_stind_type): support enum types
(map_ldind_type): support enum types

* emit-x86.c (tree_allocate_regs): added code to support
register allocation for addressing modes trees.
(tree_emit): bug fix: we have to emit all mono_burg_functins. The
previous impl. did not work for chain rules.
(compute_branches): support for SWITCH statements

* x86.brg: added rules to model x86 addressing modes

svn path=/trunk/mono/; revision=997

22 years agoTypo fix
Miguel de Icaza [Thu, 27 Sep 2001 10:32:32 +0000 (10:32 -0000)]
Typo fix

svn path=/trunk/mono/; revision=996

22 years agoThu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Thu, 27 Sep 2001 09:38:19 +0000 (09:38 -0000)]
Thu Sep 27 15:34:37 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/x86-codegen.h: in memindex operand you can use X86_NOBASEREG
as basereg.

svn path=/trunk/mono/; revision=995

22 years ago2001-09-27 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Sep 2001 08:24:07 +0000 (08:24 -0000)]
2001-09-27  Ravi Pratap  <ravi@ximian.com>

* class.cs (TypeContainer::AddConstructor): Fix a stupid bug
I had introduced long ago (what's new ?).

* expression.cs (UserImplicitCast::CanConvert): Static method to do
the work of all the checking.
(ConvertImplicit): Call CanConvert and only then create object if necessary.
(UserImplicitCast::CanConvert, ::Resolve): Re-write.

(Unary::Operator): Rename Add and Subtract to Addition and Subtraction because
that is the right way.

(Invocation::MakeUnionSet): Convenience function to make unions of sets for
overloading resolution. Use everywhere instead of cutting and pasting code.

(Binary::ResolveOperator): Use MakeUnionSet.

(UserImplicitCast::CanConvert, ::Resolve): Update to take care of the case when
we have to convert to bool types. Not complete yet.

svn path=/trunk/mcs/; revision=994

22 years ago2001-09-27 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Thu, 27 Sep 2001 08:19:38 +0000 (08:19 -0000)]
2001-09-27  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Revamp and add more operator tests. Still in progress.

* test-9,10.cs : Added by Miguel earlier.

svn path=/trunk/mcs/; revision=993

22 years ago2001-09-27 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Thu, 27 Sep 2001 01:16:47 +0000 (01:16 -0000)]
2001-09-27  Miguel de Icaza  <miguel@ximian.com>

* typemanager.cs (TypeManager::CSharpName): support ushort.

* expression.cs (Expression::TryImplicitIntConversion): Attempts
to provide an expression that performsn an implicit constant int
conversion (section 6.1.6).
(Expression::ConvertImplicitRequired): Reworked to include
implicit constant expression conversions.

(Expression::ConvertNumericExplicit): Finished.

(Invocation::Emit): If InstanceExpression is null, then it means
that we perform a call on this.

svn path=/trunk/mcs/; revision=992

22 years agoAdd Explicit Number Conversion operator test
Miguel de Icaza [Thu, 27 Sep 2001 00:43:59 +0000 (00:43 -0000)]
Add Explicit Number Conversion operator test

svn path=/trunk/mcs/; revision=991

22 years ago*** empty log message ***
Miguel de Icaza [Wed, 26 Sep 2001 20:40:58 +0000 (20:40 -0000)]
*** empty log message ***

svn path=/trunk/mcs/; revision=990

22 years ago2001-09-26 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 26 Sep 2001 18:56:23 +0000 (18:56 -0000)]
2001-09-26  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (Unary::Emit): Remove some dead code.

svn path=/trunk/mcs/; revision=989

22 years ago2001-09-26 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Wed, 26 Sep 2001 18:32:27 +0000 (18:32 -0000)]
2001-09-26  Miguel de Icaza  <miguel@ximian.com>

* cs-parser.jay: Update operator constants.

* parameter.cs (Parameters::GetParameterInfo): Hook up VerifyArgs
(Parameters::GetSignature): Hook up VerifyArgs here.
(Parameters::VerifyArgs): Verifies that no two arguments have the
same name.

* class.cs (Operator): Update the operator names to reflect the
ones that the spec expects (as we are just stringizing the
operator names).

* expression.cs (Unary::ResolveOperator): Fix bug: Use
MethodInfo's ReturnType instead of LookupMethodByBuilder as the
previous usage did only work for our methods.
(Expression::ConvertImplicit): Handle decimal implicit numeric
conversions as well.
(Expression::InternalTypeConstructor): Used to invoke constructors
on internal types for default promotions.

(Unary::Emit): Implement special handling for the pre/post
increment/decrement for overloaded operators, as they need to have
the same semantics as the other operators.

(Binary::ResolveOperator): ditto.
(Invocation::ConversionExists): ditto.
(UserImplicitCast::Resolve): ditto.

svn path=/trunk/mcs/; revision=988

22 years agofixed clean target
Sean MacIsaac [Wed, 26 Sep 2001 16:08:28 +0000 (16:08 -0000)]
fixed clean target

svn path=/trunk/mcs/; revision=987

22 years agoDon't build classes that reference WebRequest.
Sean MacIsaac [Wed, 26 Sep 2001 16:04:13 +0000 (16:04 -0000)]
Don't build classes that reference WebRequest.

svn path=/trunk/mcs/; revision=986

22 years agonew version of nant that shouldn't cause security exception for win98
Sean MacIsaac [Wed, 26 Sep 2001 11:17:23 +0000 (11:17 -0000)]
new version of nant that shouldn't cause security exception for win98
(lupus).  i just removed the offending code.  i'll look into a better
solution.

svn path=/trunk/mcs/; revision=985

22 years agoWed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Wed, 26 Sep 2001 10:33:18 +0000 (10:33 -0000)]
Wed Sep 26 16:29:36 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/x86-codegen.h: added memindex addressing mode encoding
(and mov to/from register opcodes).

svn path=/trunk/mono/; revision=984

22 years agochanged target from unix to linux
Sean MacIsaac [Wed, 26 Sep 2001 09:58:25 +0000 (09:58 -0000)]
changed target from unix to linux

svn path=/trunk/mcs/; revision=983

22 years agoFixed some build problems (related to targets)
Sean MacIsaac [Wed, 26 Sep 2001 09:53:17 +0000 (09:53 -0000)]
Fixed some build problems (related to targets)

svn path=/trunk/mcs/; revision=982

22 years agomakefile: calls NAnt to build class libs
Sean MacIsaac [Wed, 26 Sep 2001 09:51:04 +0000 (09:51 -0000)]
makefile: calls NAnt to build class libs

System/System.build: Exclude broken source files

corlib/Test/corlib_test.build: Exclude broken source files

svn path=/trunk/mcs/; revision=981

22 years ago*** empty log message ***
Dietmar Maurer [Wed, 26 Sep 2001 09:48:13 +0000 (09:48 -0000)]
*** empty log message ***

svn path=/trunk/mono/; revision=980

22 years agoMoved to corlib/Test
Sean MacIsaac [Wed, 26 Sep 2001 09:46:28 +0000 (09:46 -0000)]
Moved to corlib/Test

svn path=/trunk/mcs/; revision=979

22 years agoMoved to corlib/Test Directory
Sean MacIsaac [Wed, 26 Sep 2001 09:44:54 +0000 (09:44 -0000)]
Moved to corlib/Test Directory

svn path=/trunk/mcs/; revision=978

22 years agoNo longer used. New Platform Abstraction Layer used instead.
Sean MacIsaac [Wed, 26 Sep 2001 09:42:52 +0000 (09:42 -0000)]
No longer used.  New Platform Abstraction Layer used instead.

svn path=/trunk/mcs/; revision=977

22 years agoNAnt executable
Sean MacIsaac [Wed, 26 Sep 2001 09:38:27 +0000 (09:38 -0000)]
NAnt executable

svn path=/trunk/mcs/; revision=976

22 years agoNAnt build files and System.Data files moved to appropriate directory.
Sean MacIsaac [Wed, 26 Sep 2001 09:35:13 +0000 (09:35 -0000)]
NAnt build files and System.Data files moved to appropriate directory.

svn path=/trunk/mcs/; revision=975

22 years agoNAnt build files and test cases that CVS is giving me problems with.
Sean MacIsaac [Wed, 26 Sep 2001 09:25:02 +0000 (09:25 -0000)]
NAnt build files and test cases that CVS is giving me problems with.

svn path=/trunk/mcs/; revision=974

22 years agoMoved to old.
Sean MacIsaac [Wed, 26 Sep 2001 09:21:42 +0000 (09:21 -0000)]
Moved to old.

svn path=/trunk/mcs/; revision=973

22 years agoTest files. Will soon be moved into appropriate namespace directory.
Sean MacIsaac [Wed, 26 Sep 2001 09:19:25 +0000 (09:19 -0000)]
Test files.   Will soon be moved into appropriate namespace directory.

svn path=/trunk/mcs/; revision=972

22 years agoMoving to NAnt.
Sean MacIsaac [Wed, 26 Sep 2001 09:15:43 +0000 (09:15 -0000)]
Moving to NAnt.

svn path=/trunk/mcs/; revision=971

22 years agoMoved temporarily to old. Soon I will move them into the proper
Sean MacIsaac [Wed, 26 Sep 2001 09:14:31 +0000 (09:14 -0000)]
Moved temporarily to old.  Soon I will move them into the proper
namespace directories.

svn path=/trunk/mcs/; revision=970

22 years agoRemoving old build files. NAnt doesn't use them.
Sean MacIsaac [Wed, 26 Sep 2001 09:11:29 +0000 (09:11 -0000)]
Removing old build files.  NAnt doesn't use them.

svn path=/trunk/mcs/; revision=969

22 years ago2001-09-26 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 26 Sep 2001 07:11:40 +0000 (07:11 -0000)]
2001-09-26  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Unary::Emit and Binary::Emit): If we have an overloaded
operator, return after emitting body. Regression tests pass again !

* expression.cs (ConvertImplicit): Take TypeContainer as first argument
(Unary::ForceConversion, Binary::ForceConversion): Ditto.
(Invocation::OverloadResolve): Ditto.
(Invocation::BetterFunction, BetterConversion, ConversionExists): Ditto.

* everywhere : update calls to the above methods accordingly.

svn path=/trunk/mcs/; revision=968

22 years ago2001-09-26 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Wed, 26 Sep 2001 07:06:57 +0000 (07:06 -0000)]
2001-09-26  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Update to return an exit code

* test-8.cs : Added by Miguel.

svn path=/trunk/mcs/; revision=967

22 years ago2001-09-26 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Wed, 26 Sep 2001 06:38:36 +0000 (06:38 -0000)]
2001-09-26  Dietmar Maurer  <dietmar@ximian.com>

* emit-x86.c (arch_compile_method): more documentation.

* testjit.c: moved the architecture specific things to emit-x86.c
and x86.brg. Added more documentation. code cleanup.

svn path=/trunk/mono/; revision=966

22 years ago*** empty log message ***
Mads Pultz [Wed, 26 Sep 2001 05:34:51 +0000 (05:34 -0000)]
*** empty log message ***

svn path=/trunk/mono/; revision=965

22 years ago* Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
Mads Pultz [Wed, 26 Sep 2001 04:53:42 +0000 (04:53 -0000)]
* Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
* DnsTest.cs: initial tests of BeginGetHostByName and EndGetHostByName implemented.

svn path=/trunk/mcs/; revision=964

22 years ago*** empty log message ***
Miguel de Icaza [Wed, 26 Sep 2001 02:01:40 +0000 (02:01 -0000)]
*** empty log message ***

svn path=/trunk/mcs/; revision=963

22 years agoTue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 14:01:33 +0000 (14:01 -0000)]
Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>

* String.cs: fix off-by-one error in Trim().

svn path=/trunk/mcs/; revision=961

22 years ago2001-09-25 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Tue, 25 Sep 2001 13:31:28 +0000 (13:31 -0000)]
2001-09-25  Miguel de Icaza  <miguel@ximian.com>

* driver.cs: Change the wording of message

svn path=/trunk/mcs/; revision=960

22 years agoTue Sep 25 19:03:52 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 13:07:03 +0000 (13:07 -0000)]
Tue Sep 25 19:03:52 CEST 2001 Paolo Molaro <lupus@ximian.com>

* class.xml: updates.

svn path=/trunk/mono/; revision=959

22 years agoTue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 12:58:06 +0000 (12:58 -0000)]
Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>

* Type.cs: added GetType () method.

Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>

* ArrayList.cs: fix Insert () to check capacity, not count.

Tue Sep 25 18:54:06 CEST 2001 Paolo Molaro <lupus@ximian.com>

* File.cs: fix signatures of the Open() and OpenRead() functions
(they are static).

svn path=/trunk/mcs/; revision=958

22 years ago2001-09-25 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Tue, 25 Sep 2001 12:51:51 +0000 (12:51 -0000)]
2001-09-25  Dietmar Maurer  <dietmar@ximian.com>

* x86.brg: we now have different types of addresses: ADDR_L for local
values, ADDR_A for arguments and ADDR_G for global addresses. We
also use LDIND_XX token to load values from a specific address
instead of LDLOC/STLOC.

* testjit.c: use the new adressing scheme everywhere:
LDIND _XX (ADDR_X), and STIND_XX (ADDR_X, tree)

svn path=/trunk/mono/; revision=957

22 years agoTue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 11:32:07 +0000 (11:32 -0000)]
Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>

* MissingMethodException.cs, MissingMemberException.cs,
MemberAccessException.cs: added.

svn path=/trunk/mcs/; revision=956

22 years agoTue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 10:57:56 +0000 (10:57 -0000)]
Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>

* DictionaryEntry.cs: added.

svn path=/trunk/mcs/; revision=955

22 years agoTue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 10:56:37 +0000 (10:56 -0000)]
Tue Sep 25 16:53:08 CEST 2001 Paolo Molaro <lupus@ximian.com>

* TypeBuilder.cs, ConstructorBuilder.cs, ModuleBuilder.cs: added.

svn path=/trunk/mcs/; revision=954

22 years agoTue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 10:53:32 +0000 (10:53 -0000)]
Tue Sep 25 16:48:50 CEST 2001 Paolo Molaro <lupus@ximian.com>

* ConstructorInfo.cs, MemberFilter.cs, Module.cs: added.

svn path=/trunk/mcs/; revision=953

22 years ago2001-09-25 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 25 Sep 2001 10:52:47 +0000 (10:52 -0000)]
2001-09-25  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Binary::ResolveOperator): Had forgottten to set
the type of the expression to the return type of the method if
we have an overloaded operator match ! The regression tests pass again !
(Unary::ResolveOperator): Ditto.

* expression.cs (Invocation::ConversionExists): Correct the member lookup
to find "op_Implicit", not "implicit" ;-)
(UserImplicitCast): New class to take care of user-defined implicit conversions.
(ConvertImplicit, ForceConversion): Take TypeContainer argument

* everywhere : Correct calls to the above accordingly.

* expression.cs (UserImplicitCast::Resolve, ::Emit): Implement.
(ConvertImplicit): Do user-defined conversion if it exists.

svn path=/trunk/mcs/; revision=952

22 years agoTue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 10:50:58 +0000 (10:50 -0000)]
Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>

* String.cs: don't access the string array out of bounds in LastIndexOf.
* Type.cs: fix return type of the Assembly property.

svn path=/trunk/mcs/; revision=951

22 years ago2001-09-25 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Tue, 25 Sep 2001 10:47:42 +0000 (10:47 -0000)]
2001-09-25  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Update to include implicit conversion tests.

svn path=/trunk/mcs/; revision=950

22 years ago2001-09-25 Dick Porter <dick@ximian.com>
Dick Porter [Tue, 25 Sep 2001 09:37:00 +0000 (09:37 -0000)]
2001-09-25  Dick Porter  <dick@ximian.com>

* threads-pthread.h:
* threads-pthread.c: Implemented timed thread joining and added
System.Threading.Thread::Join_internal internal call

* icall.c: Added System.Threading.Thread::Join_internal internal call

* threads-dummy.h:
* threads-dummy.c: Dummy calls for System.Thread.Thread::Join_internal

svn path=/trunk/mono/; revision=949

22 years agoImplemented more System.Threading.Thread members
Dick Porter [Tue, 25 Sep 2001 09:31:59 +0000 (09:31 -0000)]
Implemented more System.Threading.Thread members

svn path=/trunk/mono/; revision=948

22 years ago2001-09-25 Dick Porter <dick@ximian.com>
Dick Porter [Tue, 25 Sep 2001 09:31:20 +0000 (09:31 -0000)]
2001-09-25  Dick Porter  <dick@ximian.com>

* Thread.cs: Implement Join and timed Join, set correct state
around Start, Join and Sleep calls, implement IsAlive and
ThreadState properties.

* ThreadState.cs (Threading): Added StopRequested,
SuspendRequested, Suspended values

svn path=/trunk/mcs/; revision=947

22 years agoTue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Tue, 25 Sep 2001 05:16:48 +0000 (05:16 -0000)]
Tue Sep 25 11:12:35 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: fixed get_virtual_method () to deal with interface
methods better.

svn path=/trunk/mono/; revision=946

22 years ago2001-09-24 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Mon, 24 Sep 2001 18:34:15 +0000 (18:34 -0000)]
2001-09-24  Miguel de Icaza  <miguel@ximian.com>

* assign.cs: track location.
(Resolve): Use implicit conversions on assignment.

* literal.cs: Oops.  Not good, Emit of short access values should
pass (Bytes) or the wrong argument will be selected.

* expression.cs (Unary::Emit): Emit code for -expr.

(Unary::ResolveOperator): Handle `Substract' for non-constants
(substract from zero from the non-constants).
Deal with Doubles as well.

(Expression::ConvertImplicitRequired): New routine that reports an
error if no implicit conversion exists.

(Invocation::OverloadResolve): Store the converted implicit
expressions if we make them

svn path=/trunk/mcs/; revision=945

22 years agoMon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Sep 2001 14:38:49 +0000 (14:38 -0000)]
Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>

* String.cs: make Intern and IsIntern internalcalls.

svn path=/trunk/mcs/; revision=944

22 years agoMon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Mon, 24 Sep 2001 13:30:32 +0000 (13:30 -0000)]
Mon Sep 24 18:49:01 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: don't change a MONO_TYPE_STRING to a char*
when it's an argument to an internalcall.

Mon Sep 24 18:56:59 CEST 2001 Paolo Molaro <lupus@ximian.com>

* object.c, object.h: added mono_ldstr (), mono_string_is_interned () and
mono_string_intern () to implement the semantics of the ldstr opcode
and the interning of System.Strings.
* icall.c: provide hooks to make String::IsIntern and String::Intern
internalcalls.

Mon Sep 24 18:50:25 CEST 2001 Paolo Molaro <lupus@ximian.com>

* interp.c: catch a few more error conditions with exceptions instead of
erroring out.
Don't use g_print() in stack traces because it doesn't work with
some float values.
When we call an instance method of a valuetype class, unbox the 'this'
argument if it is an object.
Use mono_ldstr () to implement the ldstr opcode: it takes care of
interning the string if necessary.
Implemented new opcodes: ckfinite, cgt.un, clt.un, ldvirtftn, ldarga.
Fixes to handle NaNs when comparing doubles.
Make sure the loaded assembly has an entry point defined.
Fixed portability bugs in neg and not opcodes.

svn path=/trunk/mono/; revision=943

22 years ago (ves_exec_method): bug fix for NOT/NEG
Dietmar Maurer [Mon, 24 Sep 2001 13:13:25 +0000 (13:13 -0000)]
(ves_exec_method): bug fix for NOT/NEG

svn path=/trunk/mono/; revision=942

22 years ago * mono/jit/x86.brg: impl. more opcodes
Dietmar Maurer [Mon, 24 Sep 2001 12:56:27 +0000 (12:56 -0000)]
* mono/jit/x86.brg: impl. more opcodes

svn path=/trunk/mono/; revision=941

22 years ago2001-09-24 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Mon, 24 Sep 2001 08:51:54 +0000 (08:51 -0000)]
2001-09-24  Dietmar Maurer  <dietmar@ximian.com>

* x86.brg: impl. more opcodes

svn path=/trunk/mono/; revision=940

22 years ago2001-09-24 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 24 Sep 2001 06:04:44 +0000 (06:04 -0000)]
2001-09-24  Ravi Pratap  <ravi@ximian.com>

* class.cs (ConstructorInitializer): Take a Location argument.
(ConstructorBaseInitializer): Same here.
(ConstructorThisInitializer): Same here.

* cs-parser.jay : Update all calls accordingly.

* expression.cs (Unary, Binary, New): Take location argument.
Update accordingly everywhere.

* cs-parser.jay : Update all calls to the above to take a location
argument.

* class.cs : Ditto.

svn path=/trunk/mcs/; revision=939

22 years ago2001-09-24 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Mon, 24 Sep 2001 04:24:01 +0000 (04:24 -0000)]
2001-09-24  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Invocation::BetterFunction): Take TypeContainer argument
(Invocation::BetterConversion): Same here
(Invocation::ConversionExists): Ditto.

(Invocation::ConversionExists): Implement.

svn path=/trunk/mcs/; revision=938

22 years ago* DnsTest.cs: now tests GetHostByAddress, GetHostByName, IpToString and Resolve.
Mads Pultz [Mon, 24 Sep 2001 03:40:55 +0000 (03:40 -0000)]
* DnsTest.cs: now tests GetHostByAddress, GetHostByName, IpToString and Resolve.
* Dns.cs: Minor changes (some print statements removed).

svn path=/trunk/mcs/; revision=937

22 years agoForgot this file
Dick Porter [Sun, 23 Sep 2001 12:55:17 +0000 (12:55 -0000)]
Forgot this file

svn path=/trunk/mono/; revision=936

22 years agoCope with systems that have pthread.h but no libpthread
Dick Porter [Sun, 23 Sep 2001 12:46:54 +0000 (12:46 -0000)]
Cope with systems that have pthread.h but no libpthread

svn path=/trunk/mono/; revision=935

22 years ago2001-09-23 Dick Porter <dick@ximian.com>
Dick Porter [Sun, 23 Sep 2001 12:32:33 +0000 (12:32 -0000)]
2001-09-23  Dick Porter  <dick@ximian.com>

* threads-dummy.c:
* threads-dummy.h: New files of dummy threading routines

* Makefile.am (THREAD_SOURCE): Arrange to compile different thread
support code based on system specifics

Rename PTHREAD_LIBS to THREAD_LIBS

2001-09-23  Dick Porter  <dick@ximian.com>

* configure.in: Arrange to compile dummy thread support routines
if pthread isnt available

2001-09-23  Dick Porter  <dick@ximian.com>

* Makefile.am (testjit_LDADD): rename PTHREAD_LIBS to THREAD_LIBS

2001-09-23  Dick Porter  <dick@ximian.com>

* Makefile.am (mint_LDADD): rename PTHREAD_LIBS to THREAD_LIBS

svn path=/trunk/mono/; revision=934

22 years ago2001-09-23 Dick Porter <dick@ximian.com>
Dick Porter [Sun, 23 Sep 2001 11:28:08 +0000 (11:28 -0000)]
2001-09-23  Dick Porter  <dick@ximian.com>

* threads-pthread.c: Implement the System.Threading.Thread::Sleep,
Schedule (called when asked to Sleep for 0 ms) and CurrentThread
internal calls.
(mono_thread_init): Set up a Thread object instance to return when
the main thread calls Thread.CurrentThread
(mono_thread_cleanup): Wait for all subthreads to exit

* icall.c: New internal calls for System.Threading.Thread::Sleep
(including Schedule) and CurrentThread

* threads.h: New file, to insulate thread-specific stuff from the
rest of the code

2001-09-23  Dick Porter  <dick@ximian.com>

* interp.c (main): Do some thread setup and cleanup around the
call to ves_exec()

2001-09-23  Dick Porter  <dick@ximian.com>

* configure.in: Check for pthread.h, so that we can check for the
HAVE_PTHREAD_H define in config.h

svn path=/trunk/mono/; revision=933

22 years ago2001-09-23 Dick Porter <dick@ximian.com>
Dick Porter [Sun, 23 Sep 2001 11:13:40 +0000 (11:13 -0000)]
2001-09-23  Dick Porter  <dick@ximian.com>

* Thread.cs: Implemented CurrentThread and Sleep (both versions)
with internal calls, and Name.

svn path=/trunk/mcs/; revision=932

22 years ago*** empty log message ***
Mads Pultz [Sun, 23 Sep 2001 08:29:10 +0000 (08:29 -0000)]
*** empty log message ***

svn path=/trunk/mcs/; revision=931

22 years ago* DnsTest.cs: Initial work submitted to repository.
Mads Pultz [Sun, 23 Sep 2001 08:27:17 +0000 (08:27 -0000)]
* DnsTest.cs: Initial work submitted to repository.
* IPHostEntryTest.cs: Initial work submitted to repository.
---------------------------------------------------------------------

svn path=/trunk/mcs/; revision=930

22 years ago* Dns.cs: Initial work submitted to repository.
Mads Pultz [Sun, 23 Sep 2001 08:23:12 +0000 (08:23 -0000)]
* Dns.cs: Initial work submitted to repository.
* IPHostEntry.cs: Initial work submitted to repository.
---------------------------------------------------------------------

svn path=/trunk/mcs/; revision=929

22 years ago2001-09-23 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Sun, 23 Sep 2001 07:57:26 +0000 (07:57 -0000)]
2001-09-23  Dietmar Maurer  <dietmar@ximian.com>

* testjit.c: use the memory pool to avoid memory leaks

monoburg.c: add a macro MBALLOC_STATE to define the allocation
function for MBState. Added an additional user data argument to
mono_burg_label - the data can be used in the cost functions. The
type can be defined with MBCOST_DATA macro.
(emit_cost_func): inline cost functions

svn path=/trunk/mono/; revision=928

22 years agoSun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>
Paolo Molaro [Sun, 23 Sep 2001 07:49:26 +0000 (07:49 -0000)]
Sun Sep 23 13:44:57 CEST 2001 Paolo Molaro <lupus@ximian.com>

* x86/tramp.c: handle MONO_TYPE_CLASS in trampolines.

svn path=/trunk/mono/; revision=927

22 years agoadded more documentation
Dietmar Maurer [Sat, 22 Sep 2001 12:02:19 +0000 (12:02 -0000)]
added more documentation

svn path=/trunk/mono/; revision=926

22 years ago2001-09-22 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Sat, 22 Sep 2001 08:10:28 +0000 (08:10 -0000)]
2001-09-22  Ravi Pratap  <ravi@ximian.com>

* expression.cs (OverloadResolve): Improve some more to catch errors 1502 and 1503
Also take an additional TypeContainer argument.

* All over : Pass in TypeContainer as argument to OverloadResolve.

* typemanager.cs (CSharpName): Update to check for the string type and return
that too.

* expression.cs (Invocation::FullMethodDesc): New static method to return a string fully describing
a given method.

svn path=/trunk/mcs/; revision=925

22 years ago * monoburg.y (strndup): removed, use g_strndup instead
Dietmar Maurer [Sat, 22 Sep 2001 03:43:24 +0000 (03:43 -0000)]
* monoburg.y (strndup): removed, use g_strndup instead

svn path=/trunk/mono/; revision=924

22 years ago * monoburg.y (strndup): terminate string with 0
Dietmar Maurer [Sat, 22 Sep 2001 03:40:16 +0000 (03:40 -0000)]
* monoburg.y (strndup): terminate string with 0

svn path=/trunk/mono/; revision=923

22 years ago * monoburg.c (create_term): bug fix: g_strdup strings from the parser
Dietmar Maurer [Sat, 22 Sep 2001 02:45:59 +0000 (02:45 -0000)]
* monoburg.c (create_term): bug fix: g_strdup strings from the parser

svn path=/trunk/mono/; revision=922

22 years agoSample threading app
Dick Porter [Fri, 21 Sep 2001 13:07:33 +0000 (13:07 -0000)]
Sample threading app

svn path=/trunk/mono/; revision=918

22 years ago2001-09-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 21 Sep 2001 13:06:31 +0000 (13:06 -0000)]
2001-09-21  Miguel de Icaza  <miguel@ximian.com>

* Makefile.am (EXTRA_DIST): Add man page to the distro

svn path=/trunk/mono/; revision=917

22 years agoimplemented more opcodes
Dietmar Maurer [Fri, 21 Sep 2001 12:50:46 +0000 (12:50 -0000)]
implemented more opcodes

svn path=/trunk/mono/; revision=916

22 years ago*** empty log message ***
Dietmar Maurer [Fri, 21 Sep 2001 12:45:43 +0000 (12:45 -0000)]
*** empty log message ***

svn path=/trunk/mono/; revision=915

22 years ago2001-09-21 Dick Porter <dick@ximian.com>
Dick Porter [Fri, 21 Sep 2001 12:42:33 +0000 (12:42 -0000)]
2001-09-21  Dick Porter  <dick@ximian.com>

* threads-pthread.h:
* threads-pthread.c: New file, for handling pthreads-style
threading support.  Start() now starts a new thread and executes
the ThreadStart delegate instance.

* icall.c: Added the internalcall for
System.Threading.Thread::Start_internal

* Makefile.am: Added new files, and PTHREADS_LIBS to the link line

2001-09-21  Dick Porter  <dick@ximian.com>

* Makefile.am (testjit_LDADD): Added PTHREAD_LIBS to the link line

2001-09-21  Dick Porter  <dick@ximian.com>

* Makefile.am (mint_LDADD): Added PTHREAD_LIBS to the link line

2001-09-21  Dick Porter  <dick@ximian.com>

* configure.in: Check for libpthread

svn path=/trunk/mono/; revision=914

22 years agoUpdates
Miguel de Icaza [Fri, 21 Sep 2001 12:16:09 +0000 (12:16 -0000)]
Updates

svn path=/trunk/mono/; revision=913

22 years ago2001-09-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 21 Sep 2001 10:56:23 +0000 (10:56 -0000)]
2001-09-21  Ravi Pratap  <ravi@ximian.com>

* expression.cs (Invocation::OverloadResolve): Re-write to conform more to the spec.
(Invocation::BetterFunction): Implement.
(Invocation::BetterConversion): Implement.
(Invocation::ConversionExists): Skeleton, no implementation yet.

Okay, things work fine !

svn path=/trunk/mcs/; revision=912

22 years ago2001-09-21 Ravi Pratap <ravi@ximian.com>
Ravi Pratap M [Fri, 21 Sep 2001 10:54:53 +0000 (10:54 -0000)]
2001-09-21  Ravi Pratap  <ravi@ximian.com>

* test-7.cs : Add.

svn path=/trunk/mcs/; revision=911

22 years agoSystem.Threading.ThreadExceptionEventArgs is done.
Dick Porter [Fri, 21 Sep 2001 10:50:27 +0000 (10:50 -0000)]
System.Threading.ThreadExceptionEventArgs is done.

svn path=/trunk/mono/; revision=910

22 years ago2001-09-21 Dick Porter <dick@ximian.com>
Dick Porter [Fri, 21 Sep 2001 10:45:31 +0000 (10:45 -0000)]
2001-09-21  Dick Porter  <dick@ximian.com>

* Thread.cs: Implement Thread(ThreadStart) constructor and Start()
with an internal call

* WaitHandle.cs: Close calls Dispose(false)

2001-09-21  Dick Porter  <dick@ximian.com>

* ThreadExceptionEventArgs.cs: Implemented

svn path=/trunk/mcs/; revision=909

22 years agox86.brg: (MB_OPT_LEVEL): define optimisation level macro
Dietmar Maurer [Fri, 21 Sep 2001 10:38:07 +0000 (10:38 -0000)]
x86.brg: (MB_OPT_LEVEL): define optimisation level macro

svn path=/trunk/mono/; revision=908

22 years ago2001-09-21 Dietmar Maurer <dietmar@ximian.com>
Dietmar Maurer [Fri, 21 Sep 2001 09:26:51 +0000 (09:26 -0000)]
2001-09-21  Dietmar Maurer  <dietmar@ximian.com>

* x86.brg: implemented long MUL/DIV

* testjit.c (tree_allocate_regs): added a way to prevent EDX usage
for operations like idiv. it is also possible to assign specific registers.

svn path=/trunk/mono/; revision=907

22 years ago2001-09-21 Miguel de Icaza <miguel@ximian.com>
Miguel de Icaza [Fri, 21 Sep 2001 00:17:01 +0000 (00:17 -0000)]
2001-09-21  Miguel de Icaza  <miguel@ximian.com>

* typemanager.cs: declare and load enum_type, delegate_type and
void_type.

* expression.cs (Expression::Emit): Now emit returns a value that
tells whether a value is left on the stack or not.  This strategy
might be reveted tomorrow with a mechanism that would address
multiple assignments.
(Expression::report118): Utility routine to report mismatches on
the ExprClass.

(Unary::Report23): Report impossible type/operator combination
utility function.

(Unary::IsIncrementableNumber): Whether the type can be
incremented or decremented with add.
(Unary::ResolveOperator): Also allow enumerations to be bitwise
complemented.
(Unary::ResolveOperator): Implement ++, !, ~, ++ and --.

(Unvocation::Emit): Deal with new Emit convetion.

* All Expression derivatives: Updated their Emit method to return
whether they leave values on the stack or not.

* codegen.cs (CodeGen::EmitStatement): Pop values left on the
stack for expressions that are statements.

2001-09-20  Miguel de Icaza  <miguel@ximian.com>

* expression.cs (LValue): New interface.  Must be implemented by
LValue objects.
(LocalVariableReference, ParameterReference, FieldExpr): Implement
LValue interface.

* assign.cs (Assign::Emit, Assign::Resolve): Use new LValue
interface for generating code, simplifies the code.

svn path=/trunk/mcs/; revision=906