mono.git
12 years agoAllow trailing commas on Json objects
Miguel de Icaza [Thu, 29 Dec 2011 14:10:14 +0000 (09:10 -0500)]
Allow trailing commas on Json objects

12 years agoFix a pesky typo.
Rodrigo Kumpera [Thu, 29 Dec 2011 01:25:32 +0000 (23:25 -0200)]
Fix a pesky typo.

12 years agoRework pinning code to isolate it into a proper module. One less include hack.
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.

12 years agoRework the cardtable 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.

12 years agoAdd test for gc descriptors.
Rodrigo Kumpera [Wed, 28 Dec 2011 14:03:59 +0000 (12:03 -0200)]
Add test for gc descriptors.

12 years agoFix parallel MS pinning code.
Rodrigo Kumpera [Wed, 28 Dec 2011 13:36:14 +0000 (11:36 -0200)]
Fix parallel MS pinning code.

12 years agoAdded a ByteSafeEncoding which can be used to implement/debug ByteEncoding derived...
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.

12 years agoFixed a common buffer overflows to most I18N.Other.* encoders, by which mapping of...
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(..)

12 years agoEnabled safe-only versions of I18N/CJK encoders.
Pablo Ruiz Garcia [Fri, 25 Nov 2011 02:08:38 +0000 (03:08 +0100)]
Enabled safe-only versions of I18N/CJK encoders.

12 years agoAnother issue #1531 fix (and unit test)
Pablo Ruiz Garcia [Fri, 25 Nov 2011 01:46:48 +0000 (02:46 +0100)]
Another issue #1531 fix (and unit test)

12 years agoLine-ending fixes over my previous modifications on I18N code.
Pablo Ruiz Garcia [Fri, 25 Nov 2011 00:52:06 +0000 (01:52 +0100)]
Line-ending fixes over my previous modifications on I18N code.

12 years agoFixed issue #1531: I18N.CJK.CP936::GetBytesCount() returns an invalid len in some...
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).

12 years agoKill size_descr, its usage was replaced by better exploiting gc_descr.
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.

12 years agoRework object size calculation code to use the gc descriptor.
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.

12 years agoRework gc descriptor to include size information in more cases.
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.

12 years agoBring small bitmap gc descriptor back to life.
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.

12 years agoFix layout computation of array types.
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.

12 years agoUse MonoContext on MIPS in sgen-archdep.h.
Zoltan Varga [Tue, 27 Dec 2011 14:28:46 +0000 (15:28 +0100)]
Use MonoContext on MIPS in sgen-archdep.h.

12 years agoUpdate the LLVM backend to the new LLVM EH architecture.
Zoltan Varga [Mon, 26 Dec 2011 17:12:20 +0000 (18:12 +0100)]
Update the LLVM backend to the new LLVM EH architecture.

12 years agoUpdate the LLVM backend to use the new LLVM atomic instructions instead of the old...
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.

12 years agoUpgrade to latest LLVM version. Not yet complete, EH is not working due to the extens...
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.

12 years agoFix history navigation
Miguel de Icaza [Mon, 26 Dec 2011 13:21:35 +0000 (08:21 -0500)]
Fix history navigation

12 years agoAllow the placement of breakpoints in wrappers using --break.
Zoltan Varga [Sun, 25 Dec 2011 14:08:13 +0000 (15:08 +0100)]
Allow the placement of breakpoints in wrappers using --break.

12 years agoFix localloc on MIPS.
Zoltan Varga [Sat, 24 Dec 2011 13:34:18 +0000 (14:34 +0100)]
Fix localloc on MIPS.

12 years agocsharp: make the prettypring work with poor IEnumerable implementors
Miguel de Icaza [Sat, 24 Dec 2011 14:37:38 +0000 (09:37 -0500)]
csharp: make the prettypring work with poor IEnumerable implementors

12 years agoAdd support for --break to mono_jit_parse_options ().
Zoltan Varga [Sat, 24 Dec 2011 12:31:06 +0000 (13:31 +0100)]
Add support for --break to mono_jit_parse_options ().

12 years agoFix move-forward-word by also considering symbols as punctuations (before we could...
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')

12 years agoupdate copyright
Miguel de Icaza [Mon, 7 Nov 2011 15:26:34 +0000 (10:26 -0500)]
update copyright

12 years agoMerge pull request #204 from bholmes/native_to_managed_out_string
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

12 years agoemit_marshal_string: For the MARSHAL_ACTION_MANAGED_CONV_IN case check,
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.

12 years agoDo not add the Create flag when ReadOnly is used. Fix http://stackoverflow.com/q...
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

12 years agoFix ARCH_STORE_REGS on MIPS.
Zoltan Varga [Thu, 22 Dec 2011 12:51:46 +0000 (12:51 +0000)]
Fix ARCH_STORE_REGS on MIPS.

12 years agoIntroduce a size descriptor in the vtable to speed up object size calculation.
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.

12 years agoMove the gc descriptor machinery to sgen-descriptor.(c|h). This will make it easier...
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.

12 years agoIntruduce sgen-conf.h with fundamental types and all configuration defines.
Rodrigo Kumpera [Thu, 15 Dec 2011 19:36:56 +0000 (17:36 -0200)]
Intruduce sgen-conf.h with fundamental types and all configuration defines.

12 years agoProperly align calls to mono_jit_thread_attach from wrappers. Fix pinvoke3 OSX with...
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.

12 years ago[MSBuild.Tasks] Simplified RemoveDir exception handling.
Jeffrey Stedfast [Tue, 20 Dec 2011 22:38:17 +0000 (17:38 -0500)]
[MSBuild.Tasks] Simplified RemoveDir exception handling.

12 years agoFix gdb backtraces on OSX.
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).

12 years agosgen: Don't report all pinned roots as stack roots.
Rolf Bjarne Kvinge [Sat, 17 Dec 2011 01:56:17 +0000 (02:56 +0100)]
sgen: Don't report all pinned roots as stack roots.

12 years agoAdd a missing StructLayout attribute to MonoAsync.
Rodrigo Kumpera [Tue, 20 Dec 2011 01:08:05 +0000 (23:08 -0200)]
Add a missing StructLayout attribute to MonoAsync.

12 years agoProvide total, not the number of bytes read, in DownloadData. Fix bug #2482
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

12 years agoFix List.LastIndexOf () on empty lists. Fixes #2558.
Zoltan Varga [Mon, 19 Dec 2011 11:21:31 +0000 (12:21 +0100)]
Fix List.LastIndexOf () on empty lists. Fixes #2558.

12 years agoRun the sgen-bridge.exe test at the end of make check.
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.

12 years agoTreat the 'bounds' array as int32[] in ves_icall_System_Array_CreateInstanceImpl ().
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 ().

12 years agoAdd more options to mono_jit_parse_options ().
Zoltan Varga [Sat, 17 Dec 2011 09:43:20 +0000 (10:43 +0100)]
Add more options to mono_jit_parse_options ().

12 years agoThe small object check must do an unsigned comparison or it might fail on 64bits.
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.

12 years agoAdd MIPS/android support to mono-sigcontext.h
Zoltan Varga [Fri, 16 Dec 2011 20:00:37 +0000 (21:00 +0100)]
Add MIPS/android support to mono-sigcontext.h

12 years agoMove mono_break_on_exc to MonoDebugOptions.
Zoltan Varga [Fri, 16 Dec 2011 18:50:14 +0000 (19:50 +0100)]
Move mono_break_on_exc to MonoDebugOptions.

12 years agoFix tracing on MIPS.
Zoltan Varga [Fri, 16 Dec 2011 18:32:14 +0000 (18:32 +0000)]
Fix tracing on MIPS.

12 years agoFix MONO_INIT_CONTEXT_FROM_FUNC () for MIPS.
Zoltan Varga [Fri, 16 Dec 2011 13:38:55 +0000 (13:38 +0000)]
Fix MONO_INIT_CONTEXT_FROM_FUNC () for MIPS.

12 years agoMerge branch 'master' of github.com:mono/mono
Zoltan Varga [Fri, 16 Dec 2011 11:43:55 +0000 (11:43 +0000)]
Merge branch 'master' of github.com:mono/mono

12 years agoFix the ucontext handling on MIPS.
Zoltan Varga [Fri, 16 Dec 2011 11:43:40 +0000 (11:43 +0000)]
Fix the ucontext handling on MIPS.

12 years agoFix tests in the 4.5 profile
Marek Habersack [Mon, 24 Oct 2011 17:18:52 +0000 (19:18 +0200)]
Fix tests in the 4.5 profile

12 years agoRemove ucontext.h include from exceptions-mips.c.
Zoltan Varga [Thu, 15 Dec 2011 18:10:16 +0000 (19:10 +0100)]
Remove ucontext.h include from exceptions-mips.c.

12 years agoFix a crash in io-layer if an invalid handle is passed to CloseHandle().
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().

12 years agoEnable aot+varargs on x86/arm.
Zoltan Varga [Wed, 14 Dec 2011 19:12:51 +0000 (20:12 +0100)]
Enable aot+varargs on x86/arm.

12 years agoDon't reorder catch clauses in the parser
Marek Safar [Wed, 14 Dec 2011 16:36:06 +0000 (16:36 +0000)]
Don't reorder catch clauses in the parser

12 years agoRework how wrappers are encoded in AOT, instead of doing add-hoc checks to determine...
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.

12 years agoExplain the why's of THREAD_INFO_TYPE.
Rodrigo Kumpera [Wed, 14 Dec 2011 15:24:14 +0000 (13:24 -0200)]
Explain the why's of THREAD_INFO_TYPE.

12 years agoHandle all sorts of corner cases dealing with Type.
Rodrigo Kumpera [Wed, 14 Dec 2011 14:13:16 +0000 (12:13 -0200)]
Handle all sorts of corner cases dealing with Type.

12 years agoRefactor namespace using parsing to work with MD, clean up resolve code from doppelganger
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

12 years agoOnly make all basic block starts interruption points in methods with clauses.
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.

12 years agoRework the implementation of single stepping in sdb. Instead of checking for single...
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.

12 years agoAdd mono_reflection_type_get_type () api function to return the MonoType* correspondi...
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.

12 years ago[System.Web.Services] Make sure we don't keep results forever when doing async reques...
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.

12 years ago[System.Data] Fix sorting in DataView when changing sort value/default sort several...
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.

12 years agoMake __data_start a weak symbol, to allow loading modules on mips.
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.

12 years agoFix MAC address for Mac/iOS
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.

12 years agoSwitch to precise scanning of corlib.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:28:56 +0000 (11:28 -0200)]
Switch to precise scanning of corlib.

12 years agoKill some unused managed type mappings.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:26:13 +0000 (11:26 -0200)]
Kill some unused managed type mappings.

12 years agoAdd all missing sequential layout directives to corlib and system.
Rodrigo Kumpera [Tue, 13 Dec 2011 13:22:54 +0000 (11:22 -0200)]
Add all missing sequential layout directives to corlib and system.

12 years agoFixes NRE when checking most specific type of default parameters. Fixes #2465
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

12 years agoMerge pull request #201 from QuickJack/master
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

12 years ago[asp.net] Do not duplicate assembly references passed to mcs
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.

12 years agoConvert mini-gc.c to use MonoThreadUnwindState.
Zoltan Varga [Tue, 13 Dec 2011 05:19:25 +0000 (06:19 +0100)]
Convert mini-gc.c to use MonoThreadUnwindState.

12 years agoFix x #2191
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

12 years agoMerge some MD mcs changes
Marek Safar [Mon, 12 Dec 2011 20:06:14 +0000 (20:06 +0000)]
Merge some MD mcs changes

12 years agoFix a warning.
Zoltan Varga [Mon, 12 Dec 2011 20:03:40 +0000 (21:03 +0100)]
Fix a warning.

12 years agoFix regression introduced by 7ff31bb6a515c47c4d73fd121811e8d1a4542af8.
Zoltan Varga [Mon, 12 Dec 2011 18:53:33 +0000 (19:53 +0100)]
Fix regression introduced by 7ff31bb6a515c47c4d73fd121811e8d1a4542af8.

12 years agoBetter logic for loading unique assemblies
Marek Safar [Mon, 12 Dec 2011 16:52:52 +0000 (16:52 +0000)]
Better logic for loading unique assemblies

12 years agoInsert more statements into ast in error recovery mode
Marek Safar [Mon, 12 Dec 2011 15:44:53 +0000 (15:44 +0000)]
Insert more statements into ast in error recovery mode

12 years agoMake internal method internal
Marek Safar [Mon, 12 Dec 2011 15:44:27 +0000 (15:44 +0000)]
Make internal method internal

12 years agoTdsMetaParameter.cs - fixes 699643. Note as Mono.Data.TdsClient and Mono.Data.SybaseC...
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.

12 years agohttp://bugzilla.xamarin.com/show_bug.cgi?id=2345
Martin [Mon, 12 Dec 2011 12:12:07 +0000 (13:12 +0100)]
http://bugzilla.xamarin.com/show_bug.cgi?id=2345

12 years agoMerge pull request #200 from ch5oh/master
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

12 years agoAdd logging for the AOT generics resolution process.
Zoltan Varga [Mon, 12 Dec 2011 07:17:12 +0000 (08:17 +0100)]
Add logging for the AOT generics resolution process.

12 years agoFix warnings.
Zoltan Varga [Mon, 12 Dec 2011 07:10:32 +0000 (08:10 +0100)]
Fix warnings.

12 years agoBehaviour for most of SqlBulkCopyOptions was implemented.
Oleg Petrov [Tue, 6 Dec 2011 21:33:34 +0000 (01:33 +0400)]
Behaviour for most of SqlBulkCopyOptions was implemented.

12 years agoPass the paramerer name to ArgumentException constructor.
Rodrigo Kumpera [Sun, 11 Dec 2011 21:25:31 +0000 (19:25 -0200)]
Pass the paramerer name to ArgumentException constructor.

12 years agoTuple structural compare shold return false instead of throwing if comparee is of...
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.

12 years agoAdd an extra heavy stats for remarked cards.
Rodrigo Kumpera [Sun, 11 Dec 2011 19:41:28 +0000 (17:41 -0200)]
Add an extra heavy stats for remarked cards.

12 years agoSwitch from using a staging area to hash filtering.
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.

12 years agoFix some warnings
Rodrigo Kumpera [Sat, 10 Dec 2011 18:12:06 +0000 (16:12 -0200)]
Fix some warnings

12 years agoImprove nursery pining performance by making sure scan starts are filled.
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.

12 years agoMoving pin stats gathering under G_UNLIKELY.
Rodrigo Kumpera [Sat, 10 Dec 2011 16:16:46 +0000 (14:16 -0200)]
Moving pin stats gathering under G_UNLIKELY.

12 years agoMake sure we correctly set APC flag when using new interrupt - fixes bxc #530.
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.

12 years agoImplement some System.Net.Http.Headers parse methods
Marek Safar [Fri, 9 Dec 2011 17:03:31 +0000 (17:03 +0000)]
Implement some System.Net.Http.Headers parse methods

12 years ago[GetTimeZoneData icall] Fixed logic for zones where there is only a start date
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.

12 years agoAdd missing file.
Zoltan Varga [Fri, 9 Dec 2011 09:42:45 +0000 (10:42 +0100)]
Add missing file.

12 years agoFix various AOT limitations uncovered by the mcs test suite.
Zoltan Varga [Fri, 9 Dec 2011 09:15:37 +0000 (10:15 +0100)]
Fix various AOT limitations uncovered by the mcs test suite.