Mark Probst [Tue, 6 Jan 2015 00:03:08 +0000 (16:03 -0800)]
[sgen] Move Mono specific function declarations to `sgen-client-mono.h`.
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.
Mark Probst [Mon, 5 Jan 2015 23:55:22 +0000 (15:55 -0800)]
[sgen] Handle `no-managed-allocator` debug option in Mono client code.
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`.
Mark Probst [Mon, 5 Jan 2015 23:52:22 +0000 (15:52 -0800)]
[sgen] Don't use `MonoObject`.
Mark Probst [Thu, 8 Jan 2015 21:01:39 +0000 (13:01 -0800)]
[sgen] Move thread info to Mono client code.
Mark Probst [Mon, 5 Jan 2015 23:43:57 +0000 (15:43 -0800)]
[sgen] Update `mono_perfcounters` in Mono client code.
Mark Probst [Mon, 5 Jan 2015 23:40:18 +0000 (15:40 -0800)]
[sgen] Don't use `mono_bool` in SGen.
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.
Mark Probst [Mon, 5 Jan 2015 23:36:35 +0000 (15:36 -0800)]
[sgen] Client function `sgen_client_vtable_get_instance_size()`.
Mark Probst [Mon, 5 Jan 2015 23:34:29 +0000 (15:34 -0800)]
[sgen] `mono_gc_register_thread()` is not Mono specific.
Mark Probst [Sat, 3 Jan 2015 22:11:59 +0000 (14:11 -0800)]
[runtime] Make a variable static.
Mark Probst [Sat, 3 Jan 2015 22:11:23 +0000 (14:11 -0800)]
[sgen] Remove dependency on `gc-internal.h`.
Mark Probst [Fri, 2 Jan 2015 20:00:41 +0000 (12:00 -0800)]
[sgen] Make bridge processing a client issue.
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.
Mark Probst [Thu, 1 Jan 2015 19:49:37 +0000 (11:49 -0800)]
[sgen] `sgen-archdep.h` is now Mono-specific.
Mark Probst [Thu, 1 Jan 2015 19:30:35 +0000 (11:30 -0800)]
[sgen] Remove dependency on `mono-gc.h`.
Mark Probst [Thu, 1 Jan 2015 19:29:36 +0000 (11:29 -0800)]
[sgen] Remove superfluous include.
Mark Probst [Thu, 1 Jan 2015 19:08:01 +0000 (11:08 -0800)]
[sgen] Move time stuff to client code.
Mark Probst [Thu, 1 Jan 2015 18:58:24 +0000 (10:58 -0800)]
[sgen] Move virtual memory allocation to client code.
Mark Probst [Thu, 1 Jan 2015 18:11:23 +0000 (10:11 -0800)]
[sgen] Move `gc_callbacks` 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.
Mark Probst [Thu, 1 Jan 2015 17:48:31 +0000 (09:48 -0800)]
[sgen] Move thread context to Mono client code.
Mark Probst [Thu, 1 Jan 2015 17:21:40 +0000 (09:21 -0800)]
[sgen] Move stack limits to client code.
Mark Probst [Tue, 30 Dec 2014 19:38:30 +0000 (11:38 -0800)]
[sgen] Move `gc_disabled` 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.
Mark Probst [Tue, 30 Dec 2014 19:24:30 +0000 (11:24 -0800)]
[sgen] Move stack scanning to client 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.
Mark Probst [Tue, 30 Dec 2014 18:31:27 +0000 (10:31 -0800)]
[sgen] Move MonoThreadInfo part of SgenThreadInfo to client code.
Mark Probst [Sun, 28 Dec 2014 18:09:03 +0000 (10:09 -0800)]
[sgen] Move remaining logging to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 17:58:07 +0000 (09:58 -0800)]
[sgen] Move counters to client code.
Mark Probst [Sun, 28 Dec 2014 17:16:19 +0000 (09:16 -0800)]
[sgen] Move all profiler calls to Mono-specific code.
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.
Mark Probst [Sun, 28 Dec 2014 04:06:26 +0000 (20:06 -0800)]
[sgen] Use pointer array for pin stats instead of linked list.
Mark Probst [Sun, 28 Dec 2014 03:51:03 +0000 (19:51 -0800)]
[sgen] Move moved-object profiler event to Mono-specific code.
Mark Probst [Sun, 28 Dec 2014 03:26:41 +0000 (19:26 -0800)]
[sgen] Make STW part of the client 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.
Mark Probst [Fri, 26 Dec 2014 01:14:24 +0000 (17:14 -0800)]
[sgen] Remove dead declaration.
Mark Probst [Fri, 26 Dec 2014 00:53:06 +0000 (16:53 -0800)]
[sgen] Move nursery debug code to `sgen-debug.c`.
Mark Probst [Thu, 25 Dec 2014 23:56:02 +0000 (15:56 -0800)]
[sgen] Remove unnecessary includes.
Mark Probst [Thu, 25 Dec 2014 23:36:18 +0000 (15:36 -0800)]
[sgen] Move some thread 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`.
Mark Probst [Thu, 25 Dec 2014 02:24:34 +0000 (18:24 -0800)]
[sgen] Move managed write barrier to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 01:53:54 +0000 (17:53 -0800)]
[sgen] Use macro for object header and minimum object size.
Mark Probst [Thu, 25 Dec 2014 01:30:54 +0000 (17:30 -0800)]
[sgen] Move some small callbacks to `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 01:24:31 +0000 (17:24 -0800)]
[sgen] Move heap walking into `sgen-mono.c`.
Mark Probst [Thu, 25 Dec 2014 01:11:46 +0000 (17:11 -0800)]
[sgen] Move array fill object check into client code.
Mark Probst [Thu, 25 Dec 2014 00:57:17 +0000 (16:57 -0800)]
[sgen] Omit unnecessary casts.
Mark Probst [Wed, 24 Dec 2014 21:23:31 +0000 (13:23 -0800)]
[sgen] Typedef `GCObject` and `GCVTable` to `MonoObject` and `MonoVTable`.
Mark Probst [Wed, 24 Dec 2014 21:19:34 +0000 (13:19 -0800)]
[sgen] Move `GCObject` and `GCVTable` to client code.
Mark Probst [Wed, 24 Dec 2014 20:41:21 +0000 (12:41 -0800)]
[sgen] `GCObject` and `GCVTable` instead of `MonoObject` and `MonoVTable`.
Mark Probst [Wed, 24 Dec 2014 18:30:21 +0000 (10:30 -0800)]
[sgen] Move root profiling to `sgen-mono.c`.
Mark Probst [Wed, 24 Dec 2014 00:38:59 +0000 (16:38 -0800)]
[sgen] Use pointer queue instead of list for finalize ready objects.
Mark Probst [Tue, 23 Dec 2014 22:20:35 +0000 (14:20 -0800)]
[sgen] Move `sgen_safe_name()` to client code.
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.
Mark Probst [Mon, 22 Dec 2014 23:36:04 +0000 (15:36 -0800)]
[sgen] Moved object size calculation to client code.
Mark Probst [Mon, 22 Dec 2014 20:34:19 +0000 (12:34 -0800)]
[sgen] Move `mono_gc_set_string_length()` to `sgen-mono.c`.
Mark Probst [Mon, 22 Dec 2014 20:10:31 +0000 (12:10 -0800)]
[sgen] Move array and string allocation to client code.
Mark Probst [Mon, 22 Dec 2014 20:01:11 +0000 (12:01 -0800)]
[sgen] Move some array filling stuff into client code.
Mark Probst [Mon, 22 Dec 2014 18:20:11 +0000 (10:20 -0800)]
[sgen] Moved Mono-specific cardtable scanning to client code.
Mark Probst [Mon, 22 Dec 2014 17:40:27 +0000 (09:40 -0800)]
[sgen] Trivial prettification of `sgen-mono.c`.
Mark Probst [Fri, 19 Dec 2014 00:17:21 +0000 (16:17 -0800)]
[sgen] Move TLS emit macros to Mono-specific file.
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.
Mark Probst [Wed, 17 Dec 2014 21:34:51 +0000 (13:34 -0800)]
[sgen] Move managed allocator to Mono-specific code.
Mark Probst [Wed, 17 Dec 2014 19:22:59 +0000 (11:22 -0800)]
[sgen] Move `has_critical_finalizer()` to client code.
Mark Probst [Mon, 15 Dec 2014 18:12:48 +0000 (10:12 -0800)]
[sgen] Move array filling into client code.
Mark Probst [Sun, 14 Dec 2014 17:01:04 +0000 (09:01 -0800)]
[sgen] Move domain clearing into client code.
Mark Probst [Sun, 14 Dec 2014 15:35:11 +0000 (07:35 -0800)]
[sgen] Move ephemerons to client code.
Mark Probst [Sun, 14 Dec 2014 15:28:21 +0000 (07:28 -0800)]
[sgen] Move some support functions into `sgen-gc.h`.
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.
Mark Probst [Sun, 14 Dec 2014 01:40:55 +0000 (17:40 -0800)]
[sgen] Move Mono-specific wbarriers to `sgen-mono.c`.
Mark Probst [Sun, 14 Dec 2014 00:59:11 +0000 (16:59 -0800)]
[sgen] Add FIXME about pinning statistics.
Mark Probst [Sun, 14 Dec 2014 00:50:43 +0000 (16:50 -0800)]
[sgen] Move heap dumping code into `sgen-debug.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`.
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.
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.
Marek Safar [Wed, 29 Apr 2015 11:40:52 +0000 (13:40 +0200)]
[corlib] Fixes security tests failures
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.
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.
Mark Probst [Tue, 28 Apr 2015 22:02:49 +0000 (15:02 -0700)]
[sgen] Check SP on thread suspend correctly. Fixes #29177.
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
Marek Safar [Tue, 28 Apr 2015 17:33:41 +0000 (19:33 +0200)]
[corlib] Add new test
Marek Safar [Tue, 28 Apr 2015 17:04:42 +0000 (19:04 +0200)]
[corlib] More cryptography from reference sources
Marcos Henrich [Tue, 28 Apr 2015 15:36:08 +0000 (16:36 +0100)]
Merge pull request #1696 from esdrubal/tzrefactor
TimeZone Refactoring.
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.
Marek Safar [Tue, 28 Apr 2015 11:37:57 +0000 (13:37 +0200)]
[corlib] More cryptography from reference sources
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
Alex Rønne Petersen [Tue, 28 Apr 2015 01:26:24 +0000 (03:26 +0200)]
Remove MONO_API from some internal GC APIs.
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.
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
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
Marek Safar [Mon, 27 Apr 2015 18:06:46 +0000 (20:06 +0200)]
[system.xml] Fix public api
Marek Safar [Mon, 27 Apr 2015 17:04:20 +0000 (19:04 +0200)]
[build] Fix bootstrap from 2.0 only era mono
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
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.
Marek Safar [Mon, 27 Apr 2015 15:24:33 +0000 (17:24 +0200)]
[corlib] Implement monomethod Module property
Marek Safar [Mon, 27 Apr 2015 14:28:16 +0000 (16:28 +0200)]
[corlib] Add string CompareOrdinal arguments checks
Alex Rønne Petersen [Mon, 27 Apr 2015 14:18:51 +0000 (16:18 +0200)]
[utils] Fix a bad format specifier.
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.
Alex Rønne Petersen [Mon, 27 Apr 2015 14:18:11 +0000 (16:18 +0200)]
[runtime] Remove some unused functions.