mono.git
9 years ago[sgen] Move Mono specific function declarations to `sgen-client-mono.h`.
Mark Probst [Tue, 6 Jan 2015 00:03:08 +0000 (16:03 -0800)]
[sgen] Move Mono specific function declarations to `sgen-client-mono.h`.

9 years ago[sgen] Do domain-specific finalizer and weak link stuff via predicate callbacks.
Mark Probst [Tue, 6 Jan 2015 00:01:45 +0000 (16:01 -0800)]
[sgen] Do domain-specific finalizer and weak link stuff via predicate callbacks.

9 years ago[sgen] Handle `no-managed-allocator` debug option in Mono client code.
Mark Probst [Mon, 5 Jan 2015 23:55:22 +0000 (15:55 -0800)]
[sgen] Handle `no-managed-allocator` debug option in Mono client code.

9 years ago[sgen] We used the wrong unmask function in `sgen-nursery-allocator.c`.
Mark Probst [Mon, 5 Jan 2015 23:52:53 +0000 (15:52 -0800)]
[sgen] We used the wrong unmask function in `sgen-nursery-allocator.c`.

9 years ago[sgen] Don't use `MonoObject`.
Mark Probst [Mon, 5 Jan 2015 23:52:22 +0000 (15:52 -0800)]
[sgen] Don't use `MonoObject`.

9 years ago[sgen] Move thread info to Mono client code.
Mark Probst [Thu, 8 Jan 2015 21:01:39 +0000 (13:01 -0800)]
[sgen] Move thread info to Mono client code.

9 years ago[sgen] Update `mono_perfcounters` in Mono client code.
Mark Probst [Mon, 5 Jan 2015 23:43:57 +0000 (15:43 -0800)]
[sgen] Update `mono_perfcounters` in Mono client code.

9 years ago[sgen] Don't use `mono_bool` in SGen.
Mark Probst [Mon, 5 Jan 2015 23:40:18 +0000 (15:40 -0800)]
[sgen] Don't use `mono_bool` in SGen.

9 years ago[sgen] Have our own aligned address hash function.
Mark Probst [Mon, 5 Jan 2015 23:38:21 +0000 (15:38 -0800)]
[sgen] Have our own aligned address hash function.

Just to get rid of a dependency.

9 years ago[sgen] Client function `sgen_client_vtable_get_instance_size()`.
Mark Probst [Mon, 5 Jan 2015 23:36:35 +0000 (15:36 -0800)]
[sgen] Client function `sgen_client_vtable_get_instance_size()`.

9 years ago[sgen] `mono_gc_register_thread()` is not Mono specific.
Mark Probst [Mon, 5 Jan 2015 23:34:29 +0000 (15:34 -0800)]
[sgen] `mono_gc_register_thread()` is not Mono specific.

9 years ago[runtime] Make a variable static.
Mark Probst [Sat, 3 Jan 2015 22:11:59 +0000 (14:11 -0800)]
[runtime] Make a variable static.

9 years ago[sgen] Remove dependency on `gc-internal.h`.
Mark Probst [Sat, 3 Jan 2015 22:11:23 +0000 (14:11 -0800)]
[sgen] Remove dependency on `gc-internal.h`.

9 years ago[sgen] Make bridge processing a client issue.
Mark Probst [Fri, 2 Jan 2015 20:00:41 +0000 (12:00 -0800)]
[sgen] Make bridge processing a client issue.

9 years ago[sgen] Semaphore type defined in client code.
Mark Probst [Thu, 1 Jan 2015 21:37:32 +0000 (13:37 -0800)]
[sgen] Semaphore type defined in client code.

`mono-semaphore.h` depends on io-layer, which we can't expect
anybody to include.

9 years ago[sgen] `sgen-archdep.h` is now Mono-specific.
Mark Probst [Thu, 1 Jan 2015 19:49:37 +0000 (11:49 -0800)]
[sgen] `sgen-archdep.h` is now Mono-specific.

9 years ago[sgen] Remove dependency on `mono-gc.h`.
Mark Probst [Thu, 1 Jan 2015 19:30:35 +0000 (11:30 -0800)]
[sgen] Remove dependency on `mono-gc.h`.

9 years ago[sgen] Remove superfluous include.
Mark Probst [Thu, 1 Jan 2015 19:29:36 +0000 (11:29 -0800)]
[sgen] Remove superfluous include.

9 years ago[sgen] Move time stuff to client code.
Mark Probst [Thu, 1 Jan 2015 19:08:01 +0000 (11:08 -0800)]
[sgen] Move time stuff to client code.

9 years ago[sgen] Move virtual memory allocation to client code.
Mark Probst [Thu, 1 Jan 2015 18:58:24 +0000 (10:58 -0800)]
[sgen] Move virtual memory allocation to client code.

9 years ago[sgen] Move `gc_callbacks` to Mono client code.
Mark Probst [Thu, 1 Jan 2015 18:11:23 +0000 (10:11 -0800)]
[sgen] Move `gc_callbacks` to Mono client code.

9 years ago[sgen] Move `runtime_data` to Mono client code.
Mark Probst [Thu, 8 Jan 2015 20:53:46 +0000 (12:53 -0800)]
[sgen] Move `runtime_data` to Mono client code.

9 years ago[sgen] Move thread context to Mono client code.
Mark Probst [Thu, 1 Jan 2015 17:48:31 +0000 (09:48 -0800)]
[sgen] Move thread context to Mono client code.

9 years ago[sgen] Move stack limits to client code.
Mark Probst [Thu, 1 Jan 2015 17:21:40 +0000 (09:21 -0800)]
[sgen] Move stack limits to client code.

9 years ago[sgen] Move `gc_disabled` to Mono-specific code.
Mark Probst [Tue, 30 Dec 2014 19:38:30 +0000 (11:38 -0800)]
[sgen] Move `gc_disabled` to Mono-specific code.

9 years ago[sgen] Move `skip` and `in_critical_region` to Mono-specific code.
Mark Probst [Tue, 30 Dec 2014 19:31:46 +0000 (11:31 -0800)]
[sgen] Move `skip` and `in_critical_region` to Mono-specific code.

9 years ago[sgen] Move stack scanning to client code.
Mark Probst [Tue, 30 Dec 2014 19:24:30 +0000 (11:24 -0800)]
[sgen] Move stack scanning to client code.

9 years ago[sgen] Moved `stopped_ip` and `stopped_domain` to Mono-specific code.
Mark Probst [Tue, 30 Dec 2014 18:42:51 +0000 (10:42 -0800)]
[sgen] Moved `stopped_ip` and `stopped_domain` to Mono-specific code.

9 years ago[sgen] Move MonoThreadInfo part of SgenThreadInfo to client code.
Mark Probst [Tue, 30 Dec 2014 18:31:27 +0000 (10:31 -0800)]
[sgen] Move MonoThreadInfo part of SgenThreadInfo to client code.

9 years ago[sgen] Move remaining logging to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 18:09:03 +0000 (10:09 -0800)]
[sgen] Move remaining logging to Mono-specific code.

9 years ago[sgen] Move counters to client code.
Mark Probst [Sun, 28 Dec 2014 17:58:07 +0000 (09:58 -0800)]
[sgen] Move counters to client code.

9 years ago[sgen] Move all profiler calls to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 17:16:19 +0000 (09:16 -0800)]
[sgen] Move all profiler calls to Mono-specific code.

9 years ago[sgen] Move DTrace stuff into the client header.
Mark Probst [Sun, 28 Dec 2014 16:50:05 +0000 (08:50 -0800)]
[sgen] Move DTrace stuff into the client header.

This should always be inlined.  We also need this there because we'll put the
profiler calls there.

This introduces fickle dependencies in the order of which things are declared
and inlined.  It would be nice to have a cleaner solution.

9 years ago[sgen] Use pointer array for pin stats instead of linked list.
Mark Probst [Sun, 28 Dec 2014 04:06:26 +0000 (20:06 -0800)]
[sgen] Use pointer array for pin stats instead of linked list.

9 years ago[sgen] Move moved-object profiler event to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 03:51:03 +0000 (19:51 -0800)]
[sgen] Move moved-object profiler event to Mono-specific code.

9 years ago[sgen] Make STW part of the client code.
Mark Probst [Sun, 28 Dec 2014 03:26:41 +0000 (19:26 -0800)]
[sgen] Make STW part of the client code.

9 years ago[sgen] Move DTrace support to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 02:45:12 +0000 (18:45 -0800)]
[sgen] Move DTrace support to Mono-specific code.

We use client callbacks from the binary protocol functions.  There are some DTrace probes
which we don't have binary protocol entries for.  Since DTrace isn't properly supported
anyway (and doesn't even work as it should on OSX), we just remove those probes instead
of making new binary protocol entries.

9 years ago[sgen] Remove dead declaration.
Mark Probst [Fri, 26 Dec 2014 01:14:24 +0000 (17:14 -0800)]
[sgen] Remove dead declaration.

9 years ago[sgen] Move nursery debug code to `sgen-debug.c`.
Mark Probst [Fri, 26 Dec 2014 00:53:06 +0000 (16:53 -0800)]
[sgen] Move nursery debug code to `sgen-debug.c`.

9 years ago[sgen] Remove unnecessary includes.
Mark Probst [Thu, 25 Dec 2014 23:56:02 +0000 (15:56 -0800)]
[sgen] Remove unnecessary includes.

9 years ago[sgen] Move some thread stuff to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 23:36:18 +0000 (15:36 -0800)]
[sgen] Move some thread stuff to `sgen-mono.c`.

9 years ago[sgen] Move more random small stuff to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 02:29:32 +0000 (18:29 -0800)]
[sgen] Move more random small stuff to `sgen-mono.c`.

9 years ago[sgen] Move managed write barrier to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 02:24:34 +0000 (18:24 -0800)]
[sgen] Move managed write barrier to `sgen-mono.c`.

9 years ago[sgen] Use macro for object header and minimum object size.
Mark Probst [Thu, 25 Dec 2014 01:53:54 +0000 (17:53 -0800)]
[sgen] Use macro for object header and minimum object size.

9 years ago[sgen] Move some small callbacks to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 01:30:54 +0000 (17:30 -0800)]
[sgen] Move some small callbacks to `sgen-mono.c`.

9 years ago[sgen] Move heap walking into `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 01:24:31 +0000 (17:24 -0800)]
[sgen] Move heap walking into `sgen-mono.c`.

9 years ago[sgen] Move array fill object check into client code.
Mark Probst [Thu, 25 Dec 2014 01:11:46 +0000 (17:11 -0800)]
[sgen] Move array fill object check into client code.

9 years ago[sgen] Omit unnecessary casts.
Mark Probst [Thu, 25 Dec 2014 00:57:17 +0000 (16:57 -0800)]
[sgen] Omit unnecessary casts.

9 years ago[sgen] Typedef `GCObject` and `GCVTable` to `MonoObject` and `MonoVTable`.
Mark Probst [Wed, 24 Dec 2014 21:23:31 +0000 (13:23 -0800)]
[sgen] Typedef `GCObject` and `GCVTable` to `MonoObject` and `MonoVTable`.

9 years ago[sgen] Move `GCObject` and `GCVTable` to client code.
Mark Probst [Wed, 24 Dec 2014 21:19:34 +0000 (13:19 -0800)]
[sgen] Move `GCObject` and `GCVTable` to client code.

9 years ago[sgen] `GCObject` and `GCVTable` instead of `MonoObject` and `MonoVTable`.
Mark Probst [Wed, 24 Dec 2014 20:41:21 +0000 (12:41 -0800)]
[sgen] `GCObject` and `GCVTable` instead of `MonoObject` and `MonoVTable`.

9 years ago[sgen] Move root profiling to `sgen-mono.c`.
Mark Probst [Wed, 24 Dec 2014 18:30:21 +0000 (10:30 -0800)]
[sgen] Move root profiling to `sgen-mono.c`.

9 years ago[sgen] Use pointer queue instead of list for finalize ready objects.
Mark Probst [Wed, 24 Dec 2014 00:38:59 +0000 (16:38 -0800)]
[sgen] Use pointer queue instead of list for finalize ready objects.

9 years ago[sgen] Move `sgen_safe_name()` to client code.
Mark Probst [Tue, 23 Dec 2014 22:20:35 +0000 (14:20 -0800)]
[sgen] Move `sgen_safe_name()` to client code.

9 years ago[sgen] Use write barrier for fields to set array references.
Mark Probst [Mon, 22 Dec 2014 23:49:40 +0000 (15:49 -0800)]
[sgen] Use write barrier for fields to set array references.

They do the same thing.

9 years ago[sgen] Moved object size calculation to client code.
Mark Probst [Mon, 22 Dec 2014 23:36:04 +0000 (15:36 -0800)]
[sgen] Moved object size calculation to client code.

9 years ago[sgen] Move `mono_gc_set_string_length()` to `sgen-mono.c`.
Mark Probst [Mon, 22 Dec 2014 20:34:19 +0000 (12:34 -0800)]
[sgen] Move `mono_gc_set_string_length()` to `sgen-mono.c`.

9 years ago[sgen] Move array and string allocation to client code.
Mark Probst [Mon, 22 Dec 2014 20:10:31 +0000 (12:10 -0800)]
[sgen] Move array and string allocation to client code.

9 years ago[sgen] Move some array filling stuff into client code.
Mark Probst [Mon, 22 Dec 2014 20:01:11 +0000 (12:01 -0800)]
[sgen] Move some array filling stuff into client code.

9 years ago[sgen] Moved Mono-specific cardtable scanning to client code.
Mark Probst [Mon, 22 Dec 2014 18:20:11 +0000 (10:20 -0800)]
[sgen] Moved Mono-specific cardtable scanning to client code.

9 years ago[sgen] Trivial prettification of `sgen-mono.c`.
Mark Probst [Mon, 22 Dec 2014 17:40:27 +0000 (09:40 -0800)]
[sgen] Trivial prettification of `sgen-mono.c`.

9 years ago[sgen] Move TLS emit macros to Mono-specific file.
Mark Probst [Fri, 19 Dec 2014 00:17:21 +0000 (16:17 -0800)]
[sgen] Move TLS emit macros to Mono-specific file.

9 years ago[sgen] Make `wbarrier_value_copy` take the element size, not the class.
Mark Probst [Thu, 18 Dec 2014 23:38:46 +0000 (15:38 -0800)]
[sgen] Make `wbarrier_value_copy` take the element size, not the class.

9 years ago[sgen] Move managed allocator to Mono-specific code.
Mark Probst [Wed, 17 Dec 2014 21:34:51 +0000 (13:34 -0800)]
[sgen] Move managed allocator to Mono-specific code.

9 years ago[sgen] Move `has_critical_finalizer()` to client code.
Mark Probst [Wed, 17 Dec 2014 19:22:59 +0000 (11:22 -0800)]
[sgen] Move `has_critical_finalizer()` to client code.

9 years ago[sgen] Move array filling into client code.
Mark Probst [Mon, 15 Dec 2014 18:12:48 +0000 (10:12 -0800)]
[sgen] Move array filling into client code.

9 years ago[sgen] Move domain clearing into client code.
Mark Probst [Sun, 14 Dec 2014 17:01:04 +0000 (09:01 -0800)]
[sgen] Move domain clearing into client code.

9 years ago[sgen] Move ephemerons to client code.
Mark Probst [Sun, 14 Dec 2014 15:35:11 +0000 (07:35 -0800)]
[sgen] Move ephemerons to client code.

9 years ago[sgen] Move some support functions into `sgen-gc.h`.
Mark Probst [Sun, 14 Dec 2014 15:28:21 +0000 (07:28 -0800)]
[sgen] Move some support functions into `sgen-gc.h`.

9 years ago[sgen] Move finalization callback stuff to `sgen-mono.c`.
Mark Probst [Sun, 14 Dec 2014 02:10:50 +0000 (18:10 -0800)]
[sgen] Move finalization callback stuff to `sgen-mono.c`.

Also introduce `sgen-client.h` which will eventually contain a spec of the
interface a client of SGen has to implement.

9 years ago[sgen] Move Mono-specific wbarriers to `sgen-mono.c`.
Mark Probst [Sun, 14 Dec 2014 01:40:55 +0000 (17:40 -0800)]
[sgen] Move Mono-specific wbarriers to `sgen-mono.c`.

9 years ago[sgen] Add FIXME about pinning statistics.
Mark Probst [Sun, 14 Dec 2014 00:59:11 +0000 (16:59 -0800)]
[sgen] Add FIXME about pinning statistics.

9 years ago[sgen] Move heap dumping code into `sgen-debug.c`.
Mark Probst [Sun, 14 Dec 2014 00:50:43 +0000 (16:50 -0800)]
[sgen] Move heap dumping code into `sgen-debug.c`.

9 years ago[sgen] Move `do_pin_stats` flag into `sgen-pinning-stats.c`.
Mark Probst [Sun, 14 Dec 2014 00:49:12 +0000 (16:49 -0800)]
[sgen] Move `do_pin_stats` flag into `sgen-pinning-stats.c`.

9 years agoMerge pull request #1748 from rolfbjarne/proclib-fix
Rolf Bjarne Kvinge [Wed, 29 Apr 2015 14:13:49 +0000 (16:13 +0200)]
Merge pull request #1748 from rolfbjarne/proclib-fix

[runtime] Don't call mach_port_deallocate on tasks we don't own.

9 years ago[runtime] Don't call mach_port_deallocate on tasks we don't own.
Rolf Bjarne Kvinge [Tue, 28 Apr 2015 17:03:34 +0000 (19:03 +0200)]
[runtime] Don't call mach_port_deallocate on tasks we don't own.

Fixes random/strange hangs/crashes (many native API starts returning
out-of-memory errors when there is plenty of memory available, other
just hang inexplicably) when profiling.

9 years ago[corlib] Fixes security tests failures
Marek Safar [Wed, 29 Apr 2015 11:40:52 +0000 (13:40 +0200)]
[corlib] Fixes security tests failures

9 years ago[jit] Remove #ifdef MONO_ARCH_VTABLE_REG, it is defined on all architectures.
Zoltan Varga [Wed, 29 Apr 2015 09:16:27 +0000 (05:16 -0400)]
[jit] Remove #ifdef MONO_ARCH_VTABLE_REG, it is defined on all architectures.

9 years ago[build] Fix "make dist"
Alexander Köplinger [Wed, 29 Apr 2015 05:08:05 +0000 (07:08 +0200)]
[build] Fix "make dist"

A few files didn't get added to EXTRA_DIST when the MS threadpool code was introduced.

9 years ago[sgen] Check SP on thread suspend correctly. Fixes #29177.
Mark Probst [Tue, 28 Apr 2015 22:02:49 +0000 (15:02 -0700)]
[sgen] Check SP on thread suspend correctly. Fixes #29177.

9 years agoMerge pull request #1747 from alexrp/gc-internal-api
Alex Rønne Petersen [Tue, 28 Apr 2015 17:38:51 +0000 (19:38 +0200)]
Merge pull request #1747 from alexrp/gc-internal-api

Remove MONO_API from some internal GC APIs

9 years ago[corlib] Add new test
Marek Safar [Tue, 28 Apr 2015 17:33:41 +0000 (19:33 +0200)]
[corlib] Add new test

9 years ago[corlib] More cryptography from reference sources
Marek Safar [Tue, 28 Apr 2015 17:04:42 +0000 (19:04 +0200)]
[corlib] More cryptography from reference sources

9 years agoMerge pull request #1696 from esdrubal/tzrefactor
Marcos Henrich [Tue, 28 Apr 2015 15:36:08 +0000 (16:36 +0100)]
Merge pull request #1696 from esdrubal/tzrefactor

TimeZone Refactoring.

9 years ago[runtime] Move `mono_error_assert_ok` to mono-error-internals.h.
João Matos [Tue, 28 Apr 2015 14:57:52 +0000 (15:57 +0100)]
[runtime] Move `mono_error_assert_ok` to mono-error-internals.h.

I originally introduced it as a public API but after some discussion we decided it's best as a private API.

9 years ago[corlib] More cryptography from reference sources
Marek Safar [Tue, 28 Apr 2015 11:37:57 +0000 (13:37 +0200)]
[corlib] More cryptography from reference sources

9 years agoMerge pull request #1734 from anikilatorbeta/patch-1
Alex Rønne Petersen [Tue, 28 Apr 2015 08:45:40 +0000 (10:45 +0200)]
Merge pull request #1734 from anikilatorbeta/patch-1

Upadate socket and add OSSupportsIPv4 in net 4.0

9 years agoRemove MONO_API from some internal GC APIs.
Alex Rønne Petersen [Tue, 28 Apr 2015 01:26:24 +0000 (03:26 +0200)]
Remove MONO_API from some internal GC APIs.

9 years ago[sgen] Fix a card table bug on 64 bits.
Mark Probst [Tue, 28 Apr 2015 00:31:46 +0000 (17:31 -0700)]
[sgen] Fix a card table bug on 64 bits.

When copying value types (like via Array.Copy) it was possible to
encounter a memory region going over the end of the card table array.
In that case we would overwrite data after the card table and fail
to mark cards at the start of the array.

It's hard to do a test case for this because we allocate the shadow card
table directly after the regular one, so the overwrite is benign.  It would
also require allocating very large arrays (>2Gb) and run very slowly.

9 years agoMerge pull request #1745 from alexrp/warning-police
Alex Rønne Petersen [Tue, 28 Apr 2015 00:18:40 +0000 (02:18 +0200)]
Merge pull request #1745 from alexrp/warning-police

Warning police

9 years agoMerge pull request #1743 from alexrp/profiler-versioning
Rodrigo Kumpera [Mon, 27 Apr 2015 19:25:06 +0000 (15:25 -0400)]
Merge pull request #1743 from alexrp/profiler-versioning

Introduce versioning of the profiler API

9 years ago[system.xml] Fix public api
Marek Safar [Mon, 27 Apr 2015 18:06:46 +0000 (20:06 +0200)]
[system.xml] Fix public api

9 years ago[build] Fix bootstrap from 2.0 only era mono
Marek Safar [Mon, 27 Apr 2015 17:04:20 +0000 (19:04 +0200)]
[build] Fix bootstrap from 2.0 only era mono

9 years ago[build] Remove 2.0 sdk from monolite when we are 4.0 only
Marek Safar [Mon, 27 Apr 2015 16:17:43 +0000 (18:17 +0200)]
[build] Remove 2.0 sdk from monolite when we are 4.0 only

9 years agoIntroduce mono_error_assert_ok for checking and asserting that a MonoError is OK.
João Matos [Mon, 27 Apr 2015 14:24:58 +0000 (15:24 +0100)]
Introduce mono_error_assert_ok for checking and asserting that a MonoError is OK.

We're adding this new API call to replace the `g_assert (mono_error_ok (&error));` code pattern so that when there's an error we can print the error message from the MonoError.

9 years ago[corlib] Implement monomethod Module property
Marek Safar [Mon, 27 Apr 2015 15:24:33 +0000 (17:24 +0200)]
[corlib] Implement monomethod Module property

9 years ago[corlib] Add string CompareOrdinal arguments checks
Marek Safar [Mon, 27 Apr 2015 14:28:16 +0000 (16:28 +0200)]
[corlib] Add string CompareOrdinal arguments checks

9 years ago[utils] Fix a bad format specifier.
Alex Rønne Petersen [Mon, 27 Apr 2015 14:18:51 +0000 (16:18 +0200)]
[utils] Fix a bad format specifier.

9 years ago[mini] Fix some warnings related to co-op suspend code.
Alex Rønne Petersen [Mon, 27 Apr 2015 14:18:26 +0000 (16:18 +0200)]
[mini] Fix some warnings related to co-op suspend code.

9 years ago[runtime] Remove some unused functions.
Alex Rønne Petersen [Mon, 27 Apr 2015 14:18:11 +0000 (16:18 +0200)]
[runtime] Remove some unused functions.