Jérémie Laval [Fri, 22 Oct 2010 14:09:28 +0000 (15:09 +0100)]
Protect ExitUpgradeable part of ReaderWriterLockSlim against asynchronous exception.
This ensure that the lock state remains consistent even when it's interrupted by an async exception (such as ThreadAbortException).
Jérémie Laval [Fri, 22 Oct 2010 14:04:52 +0000 (15:04 +0100)]
Protect Enter/Exit write part of ReaderWriterLockSlim against asynchronous exception.
This ensure that the lock state remains consistent even when it's interrupted by an async exception (such as ThreadAbortException).
Jérémie Laval [Fri, 22 Oct 2010 14:02:06 +0000 (15:02 +0100)]
Protect Enter/Exit read part of ReaderWriterLockSlim against asynchronous exception.
This ensure that the lock state remains consistent even when it's interrupted by an async exception (such as ThreadAbortException).
Paolo Molaro [Thu, 18 Nov 2010 10:37:03 +0000 (11:37 +0100)]
Provide better coverage of jitted methods to the profiler.
Sometimes we use wrapper methods or other tricks under the hood,
but we provided to the profiler some inconsistent information,
for example the MonoMethod pointer in enter/leave events could be
different from the one used in reporting jit compilation.
This patch introduces a concept of aliased methods: more
than one MonoMethod pointer could correspond to the same jit info
and as such, more end_jit notifications can happen for the same
compiled code. This also means, in turn, that you can get a
end_jit notification for MonoMethod pointers that weren't reported
in a start_jit event.
This partially reverts the change in
2e0067422b9cb, which doesn't
have an associated bug report anyway (this change instead fixes
the issue with unresolved methods in the log profiler).
Paolo Molaro [Wed, 17 Nov 2010 18:40:09 +0000 (19:40 +0100)]
Log profiler: be more specific about unknown methods and classes.
Zoltan Varga [Thu, 18 Nov 2010 02:45:48 +0000 (03:45 +0100)]
Pop the arguments to the throw trampoline from the stack on x86. Fixes #654322.
joncham [Thu, 18 Nov 2010 02:38:56 +0000 (21:38 -0500)]
Update vcxproj files.
joncham [Thu, 18 Nov 2010 02:37:57 +0000 (21:37 -0500)]
Undefine AF_INET6 on windows to disable IPv6 for now.
Jonathan Pryor [Thu, 18 Nov 2010 02:27:38 +0000 (21:27 -0500)]
[mdoc-update] Add C#4 dynamic support for method declarations.
Marek Habersack [Thu, 18 Nov 2010 01:20:12 +0000 (02:20 +0100)]
[system] NameObjectCollections.Init clears the items container and array before reallocating them.
Marek Habersack [Thu, 18 Nov 2010 01:12:13 +0000 (02:12 +0100)]
[asp.net] A few memory usage optimizations.
* System.Web.Caching/CacheItemPriorityQueue.cs: when the heap is resized, the old heap memory
is cleared.
* System.Web.SessionState_2.0/SessionInProcHandler.cs: the session items collection is cleared
when the InProcSessionItem is destroyed
* System.Web/HttpApplicationState.cs: instantiate SessionObjects and StaticObjects collections
only on demand.
Replaced ReaderWriterLock with ReaderWriterLockSlim.
Removed a few variables which aren't needed.
* System.Web/HttpStaticObjectsCollection.cs: replaced a Hashtable with a Dictionary <string, object>.
The objects dictionary is created on demand only.
Gonzalo Paniagua Javier [Thu, 18 Nov 2010 00:19:22 +0000 (19:19 -0500)]
Updated remove_wsq.
remove_wsq() should only clean up the queue when the runtime is shutting down.
In any other case, removing a queue that still contains work items is an error.
Gonzalo Paniagua Javier [Wed, 17 Nov 2010 23:50:37 +0000 (18:50 -0500)]
Fix typo.
Thanks Rolf debugging this.
Gonzalo Paniagua Javier [Wed, 17 Nov 2010 21:32:10 +0000 (16:32 -0500)]
Wrong return value in mono_sem_timedwait()
The return value of mono_sem_timedwait() with a timeout 0 was incorrect
(0=failure, !0=success instead of 0=success). This worked on
non-Windows platforms because the only call with timeout 0 was
expecting the incorrect return value, but it made the mono threadpool
in Windows fail.
Fixes bug #653928.
Atsushi Eno [Wed, 17 Nov 2010 20:52:55 +0000 (05:52 +0900)]
Support x:Arguments in XamlObjectWriter.
Atsushi Eno [Wed, 17 Nov 2010 20:37:18 +0000 (05:37 +0900)]
Avoid examining converted type after using TypeConverter. Add ArgumentAttributed test for object writer.
Atsushi Eno [Wed, 17 Nov 2010 20:12:25 +0000 (05:12 +0900)]
Gave up finding "correct" way to deserialize XamlType and made it special case :(
Atsushi Eno [Wed, 17 Nov 2010 20:11:45 +0000 (05:11 +0900)]
Add TypeValueSerializer, as it does not seem to work fine with TypeConverter. And tests.
Gonzalo Paniagua Javier [Wed, 17 Nov 2010 19:01:28 +0000 (14:01 -0500)]
User name and home directory initialization
User name and home directory are initialized at the same time from the
information in /etc/passwd if possible.
Atsushi Eno [Wed, 17 Nov 2010 17:36:33 +0000 (02:36 +0900)]
Rewrote ValueSerializer.GetSerializerFor() with couple of tests.
Atsushi Eno [Wed, 17 Nov 2010 17:35:59 +0000 (02:35 +0900)]
Add missing test file.
Paolo Molaro [Wed, 17 Nov 2010 17:18:35 +0000 (18:18 +0100)]
Log profiler: implemented command server and ondemand heapshot.
Jérémie Laval [Wed, 17 Nov 2010 15:46:20 +0000 (15:46 +0000)]
[Task scheduler] Refactoring and cleanup. Removed a bunch of not-so needed lambdas to avoid delegate invocation cost.
Jérémie Laval [Wed, 17 Nov 2010 15:45:27 +0000 (15:45 +0000)]
[Partitioner] Use custom made enumerator for GetPartitions proxying from GetOrderablePartitions
Jérémie Laval [Wed, 17 Nov 2010 15:44:38 +0000 (15:44 +0000)]
[CancellationToken] Speed up ThrowIfCancellationRequested operation
Rodrigo Kumpera [Wed, 17 Nov 2010 14:59:38 +0000 (12:59 -0200)]
Handle method load failure.
* loader.c (find_method_in_class): Properly
handle failure of loading a method.
* loader.c (find_method_in_class): Handle method load
failure. We can't just bail out since working code
depends on working while having broken methods in the
mix.
Fixes #562009
Marek Habersack [Wed, 17 Nov 2010 13:09:22 +0000 (14:09 +0100)]
[asp.net] Part of fix for bug #653013. AsyncPostBackTrigger must react to events generated by the trigger control's children.
Marek Habersack [Wed, 17 Nov 2010 02:13:06 +0000 (03:13 +0100)]
[asp.net] Part of fix for bug #653013. StateManagedCollection must perform a full clear in LoadViewState
If all the items in the collections were saved to the view state, the collection must call the Clear ()
method in order for the OnClear and OnClearComplete methods to be invoked. Telerik RadComboBox depends
on it to remove dynamically added entries before they are recreated when the view state is loaded by
the control.
Marek Habersack [Wed, 17 Nov 2010 02:11:49 +0000 (03:11 +0100)]
[asp.net] Removed the DEBUG ifdefs, for the tests to compile.
This is temporary until the tests are rewritten (soon)
Jérémie Laval [Fri, 12 Nov 2010 17:07:21 +0000 (17:07 +0000)]
[PLinq] Use a custom loop for iterating in ProcessAndAggregate to avoid the if cost at each round.
Paolo Molaro [Wed, 17 Nov 2010 11:48:45 +0000 (12:48 +0100)]
Log profiler: track GC time per thread so it's properly calculated.
Atsushi Eno [Wed, 17 Nov 2010 10:08:56 +0000 (19:08 +0900)]
Add test for writing string and native Type value as PositionalParameters.
Atsushi Eno [Wed, 17 Nov 2010 09:46:27 +0000 (18:46 +0900)]
Get object instantiation correctly invoked when non-constructive StartMember is invoked.
Atsushi Eno [Wed, 17 Nov 2010 09:19:16 +0000 (18:19 +0900)]
Consider PositionalParametesr in XamlObjectWriter.
Atsushi Eno [Wed, 17 Nov 2010 06:50:18 +0000 (15:50 +0900)]
Made a couple of PositionalParameter related fixes, disabling test, etc.
Gonzalo Paniagua Javier [Wed, 17 Nov 2010 05:41:53 +0000 (00:41 -0500)]
Get the user name from the UID not the USER env
Fixes bug #653564.
Zoltan Varga [Tue, 16 Nov 2010 22:30:14 +0000 (23:30 +0100)]
Bump the max size of the arm prolog to prevent overflows.
Zoltan Varga [Tue, 16 Nov 2010 21:42:59 +0000 (22:42 +0100)]
Remove a debug printf.
Zoltan Varga [Tue, 16 Nov 2010 20:32:10 +0000 (21:32 +0100)]
Fail LLVM compilation when using sgen + OP_STOREV_MEMBASE with structs with reference fields. Fixes #653842.
Rodrigo Kumpera [Tue, 16 Nov 2010 20:31:46 +0000 (18:31 -0200)]
Better handle of loading the interfaces of a type.
* loader.c (find_method): Instead of asserting when
a type has its interfaces missing, ignore them and
keep searching.
Fixes #560346
Rodrigo Kumpera [Tue, 16 Nov 2010 19:43:14 +0000 (17:43 -0200)]
Handle broken types in assignment test.
* class.c (mono_class_is_assignable_from): Simply
return false if any of the arguments is broken.
Fixes #651287
Zoltan Varga [Tue, 16 Nov 2010 19:44:45 +0000 (20:44 +0100)]
Special case Interlocked.CompareExchange<T> in the aot runtime.
Zoltan Varga [Tue, 16 Nov 2010 18:48:28 +0000 (19:48 +0100)]
Improve tail call support on amd64 to support more methods, not just ones whose signature is equal to their caller.
Atsushi Eno [Tue, 16 Nov 2010 17:41:55 +0000 (02:41 +0900)]
Remove some illogical hacks in GetSerializerFor().
Paolo Molaro [Tue, 16 Nov 2010 15:02:34 +0000 (16:02 +0100)]
Log profiler: collect root information during GC.
Paolo Molaro [Tue, 16 Nov 2010 15:00:00 +0000 (16:00 +0100)]
GC/Profiler: added API to enumerate roots.
* profiler-private.h, profiler.c, profiler.h: added API to
enumerate the roots used during a garbage collection.
* sgen-gc.c: enumerate roots if requested by the profiler.
Rodrigo Kumpera [Tue, 16 Nov 2010 16:06:32 +0000 (14:06 -0200)]
Don't allow zero cattr type column.
* metadata-verify.c (verify_cattr_table): Type column
can't have a zero index.
Fixes #651682
joncham [Tue, 16 Nov 2010 12:32:49 +0000 (07:32 -0500)]
Fix #ifdef to fix windows build.
Atsushi Eno [Tue, 16 Nov 2010 11:54:58 +0000 (20:54 +0900)]
ContentProperty will just show up as an ordinal property, so no need to worry here.
Atsushi Eno [Tue, 16 Nov 2010 11:53:57 +0000 (20:53 +0900)]
Remove for-object-writer-only code from common non-object writer base.
KISHIMOTO Makoto [Tue, 16 Nov 2010 10:38:41 +0000 (11:38 +0100)]
Fix profiler build on freebsd.
Atsushi Eno [Tue, 16 Nov 2010 08:44:50 +0000 (17:44 +0900)]
Removed unused code / commented out unused test lines.
Atsushi Eno [Tue, 16 Nov 2010 04:17:57 +0000 (13:17 +0900)]
cleaning up some FIXMEs.
Marek Habersack [Tue, 16 Nov 2010 03:00:09 +0000 (04:00 +0100)]
[asp.net] New version of code to purge underused entries from the cache.
This version uses an LRU cache to hold the cache items. Priority is not taken into account
when removing the underused entries (with the exception of the CacheItemPriority.NotRemovable
- items with this priority are never purged), they are treated equally.
A separate thread is not used to perform purging, instead the collection happens in the current
requests's thread.
Minor improvements to cache item enumerator and to the CheckDependencies method.
Rodrigo Kumpera [Tue, 16 Nov 2010 01:14:49 +0000 (23:14 -0200)]
Properly encode GMD on a GTD.
* reflection.c (mono_reflection_method_on_tb_inst_get_handle):
Ensure the typebuilder had it's generic arguments initialized.
Fixes #652952
Marek Habersack [Mon, 15 Nov 2010 21:57:11 +0000 (22:57 +0100)]
[asp.net] Remove unnecessary try/catch block from the old entries expiration code.
Zoltan Varga [Mon, 15 Nov 2010 18:41:34 +0000 (19:41 +0100)]
Remove an unneccesary assert which is hit when a double is passed in split reg-stack in soft-float mode on non-EABI arm.
Marek Safar [Mon, 15 Nov 2010 18:09:46 +0000 (18:09 +0000)]
Remove old accessibility check routine
Zoltan Varga [Mon, 15 Nov 2010 13:56:13 +0000 (14:56 +0100)]
Make libgc use dolt too.
Atsushi Eno [Mon, 15 Nov 2010 12:35:46 +0000 (21:35 +0900)]
Make string convertibility check more strictly.
Atsushi Eno [Mon, 15 Nov 2010 12:06:11 +0000 (21:06 +0900)]
Use CanConvertTo(typeof(string)) before converting to string. Add Object writer tests.
Atsushi Eno [Mon, 15 Nov 2010 12:05:09 +0000 (21:05 +0900)]
Pass IValueSerializerContext as ITypeDescriptorContext.
Zoltan Varga [Sun, 14 Nov 2010 00:21:43 +0000 (01:21 +0100)]
Remove the unused and incomplete CMake build scripts for now.
Vincent Povirk [Sat, 13 Nov 2010 16:00:20 +0000 (17:00 +0100)]
Convert MONO_MARSHAL_CONV_LPSTR_STR to mono_string_to_utf16 on windows.
Zoltan Varga [Sat, 13 Nov 2010 13:29:15 +0000 (14:29 +0100)]
Fix the DISABLE_JIT build.
Zoltan Varga [Sat, 13 Nov 2010 13:14:40 +0000 (14:14 +0100)]
Fix the previous change.
Zoltan Varga [Sat, 13 Nov 2010 13:05:18 +0000 (14:05 +0100)]
Fix build breakage on platforms without execvp.
Zoltan Varga [Sat, 13 Nov 2010 12:53:48 +0000 (13:53 +0100)]
Fix a typo (DISABLE_SOCKET->DISABLE_SOCKETS).
Zoltan Varga [Sat, 13 Nov 2010 12:28:45 +0000 (13:28 +0100)]
Use CloseHandle () for closing process handles if HOST_WIN32 is defined, so it works on windows based cross compilers.
Marek Habersack [Sat, 13 Nov 2010 03:10:13 +0000 (04:10 +0100)]
[asp.net] Cache + SessionInProcHandler memory usage improvements
* Cache.cs: cache removes old/least recently used items when the item count exceeds 15000. Items
are removed until they reach the count of 10000.
* SessionInProcHandler.cs: replaced ReaderWriterLock with ReaderWriterLockSlim and added a Dispose
method to the InProcSessionItem type which disposes the associated lock and other resources.
Andrew Jorgensen [Fri, 12 Nov 2010 23:44:40 +0000 (16:44 -0700)]
Add new profiler to mono-devel package
Gonzalo Paniagua Javier [Fri, 12 Nov 2010 22:37:28 +0000 (17:37 -0500)]
make -jX should work in libgc/ now.
Paolo Molaro [Fri, 12 Nov 2010 19:54:10 +0000 (20:54 +0100)]
Log profiler: removed the hsmode option, use heapshot=MODE instead.
Paolo Molaro [Fri, 12 Nov 2010 19:02:10 +0000 (20:02 +0100)]
Log profiler: updated to the new heap walk API.
The GC now provides also offset information for each referenced object
in the heap walk API: this info is saved in the profile data now.
Updated the data version for the file format change.
Paolo Molaro [Fri, 12 Nov 2010 18:59:20 +0000 (19:59 +0100)]
GC: changed the heap walk API to also report the offset of referenced objects.
Paolo Molaro [Fri, 12 Nov 2010 18:22:55 +0000 (19:22 +0100)]
Log profiler: use the output value as a filename when report is specified.
* proflog.c: if the output option is used together with report, the report
is saved to the named file instead of being printed to stdout.
* decode.c: zlib seems to get confused with a non-compressed strem
coming from stdin: disable it in that case...
Also deal with reading 0 bytes from a buffer.
Paolo Molaro [Fri, 12 Nov 2010 17:22:03 +0000 (18:22 +0100)]
Log profiler: allow overwriting data files and name them from date and pid.
* utils.h, utils.c: added getpid() wrapper.
* decode.c: display the program pid if available.
* proflog.c: added substitutions for the output name, change the default
behaviour to not overwrite a file and allow '-' at the start of the
file name to force overwrite.
Rodrigo Kumpera [Fri, 12 Nov 2010 19:08:41 +0000 (17:08 -0200)]
Improve tests.
* gc-oom-handling.cs: Modify this test to test major
fragmentation too.
* gc-oom-handling2.cs: Add tests for some heavy reflection
allocators.
Rodrigo Kumpera [Fri, 12 Nov 2010 19:07:16 +0000 (17:07 -0200)]
Handle OOM under evacuation.
* sgen-marksweep.c (major_copy_or_mark_object): Stop evacuating
major objects if we fail to alloc them.
Andreia Gaita [Fri, 12 Nov 2010 16:52:24 +0000 (16:52 +0000)]
[Xml] duh, don't hide the stacktrace
Marek Safar [Fri, 12 Nov 2010 16:12:52 +0000 (16:12 +0000)]
Move an assembly declaration handling into a new file
Marek Safar [Fri, 12 Nov 2010 15:56:15 +0000 (15:56 +0000)]
Add local version of constructor info constants
Marek Safar [Fri, 12 Nov 2010 11:42:29 +0000 (11:42 +0000)]
Remove unused namespaces
Andreia Gaita [Fri, 12 Nov 2010 15:55:32 +0000 (15:55 +0000)]
[Xml] Check if the underlying writer supports LookupPrefix and return empty
instead of blowing up.
Jérémie Laval [Fri, 12 Nov 2010 14:02:41 +0000 (14:02 +0000)]
Throw an an exception when Break and Stop are used in combination.
Jérémie Laval [Fri, 12 Nov 2010 14:02:12 +0000 (14:02 +0000)]
Simplify Parallel.ForEach loop execution
Jérémie Laval [Fri, 12 Nov 2010 13:52:54 +0000 (13:52 +0000)]
Cleanup ForEach overloads in Parallel
Jérémie Laval [Fri, 12 Nov 2010 13:19:10 +0000 (13:19 +0000)]
Directory cleanup for System.Collections.Concurrent partitioners
Paolo Molaro [Fri, 12 Nov 2010 11:55:29 +0000 (12:55 +0100)]
Log profiler: prevent possible corruption from writing to the same file.
* proflog.c: we now unlink the output file before creating it to
prevent possible corruption from multiple processes writing to the
file. Added also extra checks for async events (which shouldn't happen).
* decode.c: fix file offset when using zlib.
Atsushi Eno [Fri, 12 Nov 2010 12:26:18 +0000 (21:26 +0900)]
Return XamlLanguage.Items for dictionary and ContentProperty as implicit member.
Atsushi Eno [Fri, 12 Nov 2010 12:09:46 +0000 (21:09 +0900)]
Fix wrong attribute value string indexing.
Atsushi Eno [Fri, 12 Nov 2010 11:54:03 +0000 (20:54 +0900)]
XamlSchemaContext.GetXamlType(XamlTypeName) now resolves assemblies then types.
And use it in appropriate place.
Fixed part of XamlXmlReaderTest.PositionalParameters2().
Marek Safar [Fri, 12 Nov 2010 11:18:45 +0000 (11:18 +0000)]
New tests
Atsushi Eno [Fri, 12 Nov 2010 10:56:28 +0000 (19:56 +0900)]
Extension types may have omitted "Extension" from XML name.
Marek Safar [Fri, 12 Nov 2010 10:08:46 +0000 (10:08 +0000)]
Add MessageQueue::GetMessageEnumerator2
Marek Safar [Fri, 12 Nov 2010 09:56:56 +0000 (09:56 +0000)]
CRLF->LF conversion
Marek Safar [Fri, 12 Nov 2010 09:56:01 +0000 (09:56 +0000)]
Fix QueuePathDialog signature
Marek Safar [Fri, 12 Nov 2010 09:49:20 +0000 (09:49 +0000)]
Show more details for CS1061 eror
Marek Safar [Fri, 12 Nov 2010 09:36:20 +0000 (09:36 +0000)]
Inflate nested non-generic interfaces inside generic type
Daniel J Sell [Fri, 12 Nov 2010 01:57:49 +0000 (17:57 -0800)]
[asp.net] Fix for bug #653192. making MasterPageFile handle relative paths
MasterPageFile should be relative to the file being parsed, not the
request path