Miguel de Icaza [Thu, 29 Dec 2011 14:10:14 +0000 (09:10 -0500)]
Allow trailing commas on Json objects
Rodrigo Kumpera [Thu, 29 Dec 2011 01:25:32 +0000 (23:25 -0200)]
Fix a pesky typo.
Rodrigo Kumpera [Thu, 29 Dec 2011 01:09:37 +0000 (23:09 -0200)]
Rework pinning code to isolate it into a proper module. One less include hack.
Rodrigo Kumpera [Wed, 28 Dec 2011 22:35:17 +0000 (20:35 -0200)]
Rework the cardtable code to isolate it into a proper module. One less include hack.
Rodrigo Kumpera [Wed, 28 Dec 2011 14:03:59 +0000 (12:03 -0200)]
Add test for gc descriptors.
Rodrigo Kumpera [Wed, 28 Dec 2011 13:36:14 +0000 (11:36 -0200)]
Fix parallel MS pinning code.
Pablo Ruiz Garcia [Tue, 29 Nov 2011 00:52:08 +0000 (01:52 +0100)]
Added a ByteSafeEncoding which can be used to implement/debug ByteEncoding derived encodings classes.
Pablo Ruiz Garcia [Sun, 27 Nov 2011 22:17:10 +0000 (23:17 +0100)]
Fixed a common buffer overflows to most I18N.Other.* encoders, by which mapping of invalid characters was emiting fallback character twice, thus doubling the amount of space required.
Fixed an CP949 encoding to avoid an off-by-one during character replacement on Getbytes(..)
Pablo Ruiz Garcia [Fri, 25 Nov 2011 02:08:38 +0000 (03:08 +0100)]
Enabled safe-only versions of I18N/CJK encoders.
Pablo Ruiz Garcia [Fri, 25 Nov 2011 01:46:48 +0000 (02:46 +0100)]
Another issue #1531 fix (and unit test)
Pablo Ruiz Garcia [Fri, 25 Nov 2011 00:52:06 +0000 (01:52 +0100)]
Line-ending fixes over my previous modifications on I18N code.
Pablo Ruiz Garcia [Fri, 25 Nov 2011 00:17:49 +0000 (01:17 +0100)]
Fixed issue #1531: I18N.CJK.CP936::GetBytesCount() returns an invalid len in some cases, causing an OutOfRangeException during the actual convertion (GetBytes method).
Rodrigo Kumpera [Wed, 28 Dec 2011 00:54:01 +0000 (22:54 -0200)]
Kill size_descr, its usage was replaced by better exploiting gc_descr.
Rodrigo Kumpera [Wed, 28 Dec 2011 00:41:39 +0000 (22:41 -0200)]
Rework object size calculation code to use the gc descriptor.
* sgen-gc.h (mono_sgen_par_object_get_size): Use gc_descr
instead of size_descr for size calculation as it's possible
to use it for more than 90% of the cases.
This allows us to kill size_descr from the vtable and retain
the majority of the speedup it brought it.
Rodrigo Kumpera [Wed, 28 Dec 2011 00:24:43 +0000 (22:24 -0200)]
Rework gc descriptor to include size information in more cases.
* sgen-descriptor.h
* sgen-descriptor.c: Move the vector/array distrinction to
be a bit inside the descriptor.
Align the object size and store it without any shifts. This
causes no issues with remsets since the relevant code has been
reworked.
Try harder to encode the object size for ptrfree objects. When
not possible use a new kind of descriptor, DESC_TYPE_COMPLEX_PTRFREE.
Rodrigo Kumpera [Wed, 28 Dec 2011 00:08:54 +0000 (22:08 -0200)]
Bring small bitmap gc descriptor back to life.
* sgen-descriptor.h:
* sgen-descriptor.c:
* sgen-scan-object.h: Bring small bitmap back to life.
It covers most cases large bitmap does and can hold size
information.
Rodrigo Kumpera [Tue, 27 Dec 2011 21:26:36 +0000 (19:26 -0200)]
Fix layout computation of array types.
* object.c (mono_class_compute_gc_descriptor): Properly pass
true/false to mono_gc_make_descr_for_array if the type is
SZARRAY or ARRAY.
Zoltan Varga [Tue, 27 Dec 2011 14:28:46 +0000 (15:28 +0100)]
Use MonoContext on MIPS in sgen-archdep.h.
Zoltan Varga [Mon, 26 Dec 2011 17:12:20 +0000 (18:12 +0100)]
Update the LLVM backend to the new LLVM EH architecture.
Zoltan Varga [Mon, 26 Dec 2011 15:11:53 +0000 (16:11 +0100)]
Update the LLVM backend to use the new LLVM atomic instructions instead of the old atomic intrinsics.
Zoltan Varga [Mon, 26 Dec 2011 13:26:30 +0000 (14:26 +0100)]
Upgrade to latest LLVM version. Not yet complete, EH is not working due to the extensive changes to the LLVM EH model.
Miguel de Icaza [Mon, 26 Dec 2011 13:21:35 +0000 (08:21 -0500)]
Fix history navigation
Zoltan Varga [Sun, 25 Dec 2011 14:08:13 +0000 (15:08 +0100)]
Allow the placement of breakpoints in wrappers using --break.
Zoltan Varga [Sat, 24 Dec 2011 13:34:18 +0000 (14:34 +0100)]
Fix localloc on MIPS.
Miguel de Icaza [Sat, 24 Dec 2011 14:37:38 +0000 (09:37 -0500)]
csharp: make the prettypring work with poor IEnumerable implementors
Zoltan Varga [Sat, 24 Dec 2011 12:31:06 +0000 (13:31 +0100)]
Add support for --break to mono_jit_parse_options ().
Miguel de Icaza [Thu, 22 Dec 2011 19:46:56 +0000 (14:46 -0500)]
Fix move-forward-word by also considering symbols as punctuations (before we could not move-forward 'a>b')
Miguel de Icaza [Mon, 7 Nov 2011 15:26:34 +0000 (10:26 -0500)]
update copyright
Zoltan Varga [Thu, 22 Dec 2011 19:37:21 +0000 (11:37 -0800)]
Merge pull request #204 from bholmes/native_to_managed_out_string
emit_marshal_string MARSHAL_ACTION_MANAGED_CONV out param change
William Holmes [Thu, 22 Dec 2011 16:40:14 +0000 (11:40 -0500)]
emit_marshal_string: For the MARSHAL_ACTION_MANAGED_CONV_IN case check,
the param for the out attribute. Do not call ptr to string if the
out exists. This avoids reading uninitialized memory.
Sebastien Pouliot [Thu, 22 Dec 2011 15:16:30 +0000 (10:16 -0500)]
Do not add the Create flag when ReadOnly is used. Fix stackoverflow.com/q/
8602726/220643
Zoltan Varga [Thu, 22 Dec 2011 12:51:46 +0000 (12:51 +0000)]
Fix ARCH_STORE_REGS on MIPS.
Rodrigo Kumpera [Wed, 21 Dec 2011 16:00:31 +0000 (14:00 -0200)]
Introduce a size descriptor in the vtable to speed up object size calculation.
* class-internals.h (MonoVTable): Add size_descr right after gc_descr to
ensure the highest chance of both living in the same cache line.
* object.c: Initialize size_descr when gc_descr is.
* sgen-descriptor.c (mono_gc_compute_size_descr): Encode the size
descriptor of a given class. The current schema is very simple and effective.
We use a 2 bits tag and have basically 3 types: Fixed size objects, strings and
arrays. A note on multi-dimentional or bounded arrays, given how rare they are
it's not worth encoding the array rank in.
* sgen-gc.h (mono_sgen_par_object_get_size): Compute the object size using
the new size_descr field in the vtable. The reason behind this change is that
it reduces the number of memory loads significantly. we can figure out the
size of a fixed size object with a single, cache hot, load.
Besides that, we avoid pointer chaising MonoClass, which reduces latency
quite a bit since it might not be as cache hot as the VTable.
This change cause a 3-5% speedup on a x86 nehalem synthetic benchmark.
It should provide much higher speedups on arm since it has a much smaller
cache and memory bandwidth.
Rodrigo Kumpera [Fri, 16 Dec 2011 15:12:49 +0000 (13:12 -0200)]
Move the gc descriptor machinery to sgen-descriptor.(c|h). This will make it easier to experiment with different encodings.
Rodrigo Kumpera [Thu, 15 Dec 2011 19:36:56 +0000 (17:36 -0200)]
Intruduce sgen-conf.h with fundamental types and all configuration defines.
Rodrigo Kumpera [Wed, 21 Dec 2011 03:20:17 +0000 (01:20 -0200)]
Properly align calls to mono_jit_thread_attach from wrappers. Fix pinvoke3 OSX with -O2.
Jeffrey Stedfast [Tue, 20 Dec 2011 22:38:17 +0000 (17:38 -0500)]
[MSBuild.Tasks] Simplified RemoveDir exception handling.
Rolf Bjarne Kvinge [Mon, 19 Dec 2011 23:56:40 +0000 (00:56 +0100)]
Fix gdb backtraces on OSX.
We can't redirect output from gdb: since gdb will suspend us we won't
be able to read from the pipe we've redirected output to, and we'll
end up deadlocking if gdb outputs a lot of data (see bug #2548).
Rolf Bjarne Kvinge [Sat, 17 Dec 2011 01:56:17 +0000 (02:56 +0100)]
sgen: Don't report all pinned roots as stack roots.
Rodrigo Kumpera [Tue, 20 Dec 2011 01:08:05 +0000 (23:08 -0200)]
Add a missing StructLayout attribute to MonoAsync.
Sebastien Pouliot [Mon, 19 Dec 2011 19:11:40 +0000 (14:11 -0500)]
Provide total, not the number of bytes read, in DownloadData. Fix bug #2482
Zoltan Varga [Mon, 19 Dec 2011 11:21:31 +0000 (12:21 +0100)]
Fix List.LastIndexOf () on empty lists. Fixes #2558.
Zoltan Varga [Sat, 17 Dec 2011 10:23:43 +0000 (11:23 +0100)]
Run the sgen-bridge.exe test at the end of make check.
Zoltan Varga [Sat, 17 Dec 2011 10:15:32 +0000 (11:15 +0100)]
Treat the 'bounds' array as int32[] in ves_icall_System_Array_CreateInstanceImpl ().
Zoltan Varga [Sat, 17 Dec 2011 09:43:20 +0000 (10:43 +0100)]
Add more options to mono_jit_parse_options ().
Rodrigo Kumpera [Fri, 16 Dec 2011 21:31:54 +0000 (19:31 -0200)]
The small object check must do an unsigned comparison or it might fail on 64bits.
Zoltan Varga [Fri, 16 Dec 2011 20:00:37 +0000 (21:00 +0100)]
Add MIPS/android support to mono-sigcontext.h
Zoltan Varga [Fri, 16 Dec 2011 18:50:14 +0000 (19:50 +0100)]
Move mono_break_on_exc to MonoDebugOptions.
Zoltan Varga [Fri, 16 Dec 2011 18:32:14 +0000 (18:32 +0000)]
Fix tracing on MIPS.
Zoltan Varga [Fri, 16 Dec 2011 13:38:55 +0000 (13:38 +0000)]
Fix MONO_INIT_CONTEXT_FROM_FUNC () for MIPS.
Zoltan Varga [Fri, 16 Dec 2011 11:43:55 +0000 (11:43 +0000)]
Merge branch 'master' of github.com:mono/mono
Zoltan Varga [Fri, 16 Dec 2011 11:43:40 +0000 (11:43 +0000)]
Fix the ucontext handling on MIPS.
Marek Habersack [Mon, 24 Oct 2011 17:18:52 +0000 (19:18 +0200)]
Fix tests in the 4.5 profile
Zoltan Varga [Thu, 15 Dec 2011 18:10:16 +0000 (19:10 +0100)]
Remove ucontext.h include from exceptions-mips.c.
Zoltan Varga [Wed, 14 Dec 2011 19:55:35 +0000 (20:55 +0100)]
Fix a crash in io-layer if an invalid handle is passed to CloseHandle().
Zoltan Varga [Wed, 14 Dec 2011 19:12:51 +0000 (20:12 +0100)]
Enable aot+varargs on x86/arm.
Marek Safar [Wed, 14 Dec 2011 16:36:06 +0000 (16:36 +0000)]
Don't reorder catch clauses in the parser
Zoltan Varga [Wed, 14 Dec 2011 16:12:44 +0000 (17:12 +0100)]
Rework how wrappers are encoded in AOT, instead of doing add-hoc checks to determine the subtype of various wrappers, make the wrapper creation functions encode this information into a WrapperInfo structure in most cases.
Rodrigo Kumpera [Wed, 14 Dec 2011 15:24:14 +0000 (13:24 -0200)]
Explain the why's of THREAD_INFO_TYPE.
Rodrigo Kumpera [Wed, 14 Dec 2011 14:13:16 +0000 (12:13 -0200)]
Handle all sorts of corner cases dealing with Type.
Marek Safar [Wed, 14 Dec 2011 12:42:44 +0000 (12:42 +0000)]
Refactor namespace using parsing to work with MD, clean up resolve code from doppelganger
Zoltan Varga [Fri, 4 Nov 2011 20:15:44 +0000 (21:15 +0100)]
Only make all basic block starts interruption points in methods with clauses.
Zoltan Varga [Sat, 29 Oct 2011 22:34:01 +0000 (00:34 +0200)]
Rework the implementation of single stepping in sdb. Instead of checking for single stepping at all seq point locations, implement single stepping using a combination of breakpoints plus checkpoints at a subset of seq points, i.e. at method entry and bb entry.
Zoltan Varga [Wed, 14 Dec 2011 08:03:12 +0000 (09:03 +0100)]
Add mono_reflection_type_get_type () api function to return the MonoType* corresponding to a System.Type.
Rolf Bjarne Kvinge [Tue, 13 Dec 2011 22:10:48 +0000 (23:10 +0100)]
[System.Web.Services] Make sure we don't keep results forever when doing async requests. Fixes #2473.
Rolf Bjarne Kvinge [Wed, 16 Nov 2011 20:55:31 +0000 (15:55 -0500)]
[System.Data] Fix sorting in DataView when changing sort value/default sort several times.
Paolo Molaro [Tue, 13 Dec 2011 15:35:10 +0000 (15:35 +0000)]
Make __data_start a weak symbol, to allow loading modules on mips.
Gonzalo Paniagua Javier [Tue, 13 Dec 2011 15:24:17 +0000 (10:24 -0500)]
Fix MAC address for Mac/iOS
The position of the first byte to copy was wrong.
Fixes bug #2012.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:28:56 +0000 (11:28 -0200)]
Switch to precise scanning of corlib.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:26:13 +0000 (11:26 -0200)]
Kill some unused managed type mappings.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:22:54 +0000 (11:22 -0200)]
Add all missing sequential layout directives to corlib and system.
Marek Safar [Tue, 13 Dec 2011 10:01:45 +0000 (10:01 +0000)]
Fixes NRE when checking most specific type of default parameters. Fixes #2465
Marek Habersack [Tue, 13 Dec 2011 08:02:08 +0000 (00:02 -0800)]
Merge pull request #201 from QuickJack/master
http://bugzilla.xamarin.com/show_bug.cgi?id=2345
Marek Habersack [Tue, 13 Dec 2011 07:59:11 +0000 (08:59 +0100)]
[asp.net] Do not duplicate assembly references passed to mcs
The code uses assembly manifest module UUID to do the matching, that way it works for all the locations the assembly may come from.
Zoltan Varga [Tue, 13 Dec 2011 05:19:25 +0000 (06:19 +0100)]
Convert mini-gc.c to use MonoThreadUnwindState.
Miguel de Icaza [Tue, 13 Dec 2011 01:58:39 +0000 (20:58 -0500)]
Fix x #2191
From Federico Di Gregorio <fog@initd.org>, allow leading sign
Marek Safar [Mon, 12 Dec 2011 20:06:14 +0000 (20:06 +0000)]
Merge some MD mcs changes
Zoltan Varga [Mon, 12 Dec 2011 20:03:40 +0000 (21:03 +0100)]
Fix a warning.
Zoltan Varga [Mon, 12 Dec 2011 18:53:33 +0000 (19:53 +0100)]
Marek Safar [Mon, 12 Dec 2011 16:52:52 +0000 (16:52 +0000)]
Better logic for loading unique assemblies
Marek Safar [Mon, 12 Dec 2011 15:44:53 +0000 (15:44 +0000)]
Insert more statements into ast in error recovery mode
Marek Safar [Mon, 12 Dec 2011 15:44:27 +0000 (15:44 +0000)]
Make internal method internal
Neale Ferguson [Mon, 12 Dec 2011 14:51:27 +0000 (09:51 -0500)]
TdsMetaParameter.cs - fixes 699643. Note as Mono.Data.TdsClient and Mono.Data.SybaseClient have both been removed from mono, support for pre 7.0 version of SQL Server isn't required so this should not break applications.
SqlTransaction.cs - Check if the connection is still active before trying to rollback during Dispose. A loss of a connection is possible which result in an exception that will lead to the closing of the session. This will result in the dispose methods being invoked and if there was an active transaction then a rollback will be attempted. However, if the connection is gone we'll end up raising further exceptions about resources already being disposed.
Martin [Mon, 12 Dec 2011 12:12:07 +0000 (13:12 +0100)]
http://bugzilla.xamarin.com/show_bug.cgi?id=2345
Marek Safar [Mon, 12 Dec 2011 09:27:18 +0000 (01:27 -0800)]
Merge pull request #200 from ch5oh/master
Behaviour for most of SqlBulkCopyOptions was implemented
Zoltan Varga [Mon, 12 Dec 2011 07:17:12 +0000 (08:17 +0100)]
Add logging for the AOT generics resolution process.
Zoltan Varga [Mon, 12 Dec 2011 07:10:32 +0000 (08:10 +0100)]
Fix warnings.
Oleg Petrov [Tue, 6 Dec 2011 21:33:34 +0000 (01:33 +0400)]
Behaviour for most of SqlBulkCopyOptions was implemented.
Rodrigo Kumpera [Sun, 11 Dec 2011 21:25:31 +0000 (19:25 -0200)]
Pass the paramerer name to ArgumentException constructor.
Rodrigo Kumpera [Sun, 11 Dec 2011 21:20:14 +0000 (19:20 -0200)]
Tuple structural compare shold return false instead of throwing if comparee is of the wrong type. Fixes bxc #2455.
Rodrigo Kumpera [Sun, 11 Dec 2011 19:41:28 +0000 (17:41 -0200)]
Add an extra heavy stats for remarked cards.
Rodrigo Kumpera [Sat, 10 Dec 2011 18:16:10 +0000 (16:16 -0200)]
Switch from using a staging area to hash filtering.
* sgen-pinning.c: In order to reduce duplicates, we used a
staging area that would be uniq'd before been flushd. This
works well but has the disadvantage of not eliminating any
duplicate addresses between two flushes.
Instead of that, we introduce a very simple hashtable that
allow us to remove a lot more duplicates. The hashtable is
as simple as it can get. We probe a single slot and always
replace it. No chaining or extra probing.
On some experimental workloads staging used to fill the
pin queue with a 300% dup overhead, while with hashing it's
down to 101%, which.
Performance for the pinning step of nursery collections is 60%
smaller.
Rodrigo Kumpera [Sat, 10 Dec 2011 18:12:06 +0000 (16:12 -0200)]
Fix some warnings
Rodrigo Kumpera [Sat, 10 Dec 2011 16:16:52 +0000 (14:16 -0200)]
Improve nursery pining performance by making sure scan starts are filled.
* sgen-gc.c (set_nursery_scan_start): Only set scan start if the
new value is smaller than the previous one. This check is racy, but
it's a benign one.
* sgen-gc.c (mono_gc_try_alloc_obj_nolock): Try harder filling
scan starts. With this change we go from a 3-20% fill rate to
over 90% on average.
Pinning performance increased 6x on an extreme benchmark.
Rodrigo Kumpera [Sat, 10 Dec 2011 16:16:46 +0000 (14:16 -0200)]
Moving pin stats gathering under G_UNLIKELY.
Rodrigo Kumpera [Sat, 10 Dec 2011 15:51:45 +0000 (13:51 -0200)]
Make sure we correctly set APC flag when using new interrupt - fixes bxc #530.
* wthreads.c: Split wapi_interrupt_thread into a pair of functions.
The first half can be done from interrupt context and the second
once the thread has been resumed.
* threads.c: Use new the pair of function to properly interrupt
threads depending on io-layer APC shenanigans.
Marek Safar [Fri, 9 Dec 2011 17:03:31 +0000 (17:03 +0000)]
Implement some System.Net.Http.Headers parse methods
Jeffrey Stedfast [Fri, 9 Dec 2011 16:55:07 +0000 (11:55 -0500)]
[GetTimeZoneData icall] Fixed logic for zones where there is only a start date
Thanks to Kirill for this patch.
Bug #2223.
Zoltan Varga [Fri, 9 Dec 2011 09:42:45 +0000 (10:42 +0100)]
Add missing file.
Zoltan Varga [Fri, 9 Dec 2011 09:15:37 +0000 (10:15 +0100)]
Fix various AOT limitations uncovered by the mcs test suite.