mono.git
11 years ago[monkeydoc] Temp API for adding uncompiled sources, should be done differently
Jérémie Laval [Mon, 17 Dec 2012 18:51:58 +0000 (19:51 +0100)]
[monkeydoc] Temp API for adding uncompiled sources, should be done differently

11 years agoRevert "Add an instance_size_inited flag to MonoClass to signal whenever instance_siz...
Zoltan Varga [Mon, 17 Dec 2012 22:16:05 +0000 (23:16 +0100)]
Revert "Add an instance_size_inited flag to MonoClass to signal whenever instance_size has been initialized. The size_inited flag which was used for this purpose cannot be used since it is set earlier for recursion detection. Fixes #8905."

This reverts commit fe4327e65118e60c55699e31fdbbf97233ee66da.

11 years agoAdd an instance_size_inited flag to MonoClass to signal whenever instance_size has...
Zoltan Varga [Mon, 17 Dec 2012 22:09:13 +0000 (23:09 +0100)]
Add an instance_size_inited flag to MonoClass to signal whenever instance_size has been initialized. The size_inited flag which was used for this purpose cannot be used since it is set earlier for recursion detection. Fixes #8905.

11 years agoFix a regression introduced by e14ff38a54e1d890bdf03f155204b7b78b8515d3. Fixes #8904.
Zoltan Varga [Sun, 16 Dec 2012 20:39:19 +0000 (21:39 +0100)]
Fix a regression introduced by e14ff38a54e1d890bdf03f155204b7b78b8515d3. Fixes #8904.

11 years ago[System.IO.Packaging] Disable some failing tests again
Alan McGovern [Sun, 16 Dec 2012 16:39:45 +0000 (16:39 +0000)]
[System.IO.Packaging] Disable some failing tests again

All the failing tests are disabled now.

11 years ago[System.IO.Packaging] Fix incorrect conversion of relative uris to absolute uris
Pablo Ruiz Garcia [Sat, 20 Oct 2012 12:58:49 +0000 (14:58 +0200)]
[System.IO.Packaging] Fix incorrect conversion of relative uris to absolute uris

Fixed loading of PackagePart relationships to avoid (incorrect) conversion of
relative target uris into absolute. (fixes xamarin bug #6602)

11 years agoFix compiler warnings
Marek Safar [Sat, 15 Dec 2012 11:46:40 +0000 (12:46 +0100)]
Fix compiler warnings

11 years agoGenerate CodeSnippetTypeMember with correct separators. Fixes #8927
Marek Safar [Sat, 15 Dec 2012 11:38:43 +0000 (12:38 +0100)]
Generate CodeSnippetTypeMember with correct separators. Fixes #8927

11 years agoWe must locally cache array since it can shrink from the outside and cause FastCopy...
Rodrigo Kumpera [Sat, 15 Dec 2012 02:15:43 +0000 (21:15 -0500)]
We must locally cache array since it can shrink from the outside and cause FastCopy to corrupt the heap.

11 years agoWe can't use UnsageStore in List<> since broken user code that doesn't sync right...
Rodrigo Kumpera [Sat, 15 Dec 2012 02:12:57 +0000 (21:12 -0500)]
We can't use UnsageStore in List<> since broken user code that doesn't sync right will cause heap corruption.

11 years ago[monkeydoc] Add ecma uncompiled source support back and some nice refactoring with it.
Jeremie Laval [Fri, 14 Dec 2012 17:14:06 +0000 (17:14 +0000)]
[monkeydoc] Add ecma uncompiled source support back and some nice refactoring with it.

11 years ago[sgen] Don't allow concurrent M&S with split nursery.
Mark Probst [Fri, 14 Dec 2012 09:51:10 +0000 (10:51 +0100)]
[sgen] Don't allow concurrent M&S with split nursery.

This breaks the sgen-domain-unload test in a very unreproducible way.
This is not very high priority, so I'm disabling the combination for now.

11 years ago[sgen] Fix race conditions in worker thread start/stop.
Mark Probst [Fri, 14 Dec 2012 09:38:53 +0000 (10:38 +0100)]
[sgen] Fix race conditions in worker thread start/stop.

11 years ago[monkeydoc] Reenable index creation for ecma-provider
Jeremie Laval [Thu, 13 Dec 2012 17:18:52 +0000 (17:18 +0000)]
[monkeydoc] Reenable index creation for ecma-provider

11 years ago[monkeydoc] Precache member access per name
Jeremie Laval [Thu, 13 Dec 2012 17:18:27 +0000 (17:18 +0000)]
[monkeydoc] Precache member access per name

11 years ago[monkeydoc] Disable xhtml-provider PopulateIndex as it was doing nothing
Jeremie Laval [Thu, 13 Dec 2012 17:10:54 +0000 (17:10 +0000)]
[monkeydoc] Disable xhtml-provider PopulateIndex as it was doing nothing

11 years agoMerge pull request #523 from metanest/freebsd_libinotify_spike2
Rodrigo Kumpera [Thu, 13 Dec 2012 16:58:22 +0000 (08:58 -0800)]
Merge pull request #523 from metanest/freebsd_libinotify_spike2

inotify lib in FreeBSD is in /usr/local, check is only in FreeBSD

11 years ago[monkeydoc] Configurable caching
Jeremie Laval [Thu, 13 Dec 2012 11:58:59 +0000 (11:58 +0000)]
[monkeydoc] Configurable caching

11 years ago[monkeydoc] Regen monkeydoc.dll.config when the .in changes
Jeremie Laval [Thu, 13 Dec 2012 11:37:07 +0000 (11:37 +0000)]
[monkeydoc] Regen monkeydoc.dll.config when the .in changes

11 years ago[monkeydoc] Sanitize settings
Jeremie Laval [Thu, 13 Dec 2012 11:19:31 +0000 (11:19 +0000)]
[monkeydoc] Sanitize settings

11 years ago[monkeydoc] Bring index and lucene index into the modern age
Jeremie Laval [Wed, 12 Dec 2012 17:10:22 +0000 (17:10 +0000)]
[monkeydoc] Bring index and lucene index into the modern age

11 years ago[monkeydoc] Restore handling of MonoMac/MonoTouch export in Lucene index
Jeremie Laval [Wed, 12 Dec 2012 16:23:04 +0000 (16:23 +0000)]
[monkeydoc] Restore handling of MonoMac/MonoTouch export in Lucene index

11 years ago* inotify lib in FreeBSD is in /usr/local
KISHIMOTO, Makoto [Fri, 7 Dec 2012 02:30:43 +0000 (11:30 +0900)]
* inotify lib in FreeBSD is in /usr/local
* libinotify check only FreeBSD

11 years agoAdd a monotouch Mono.Security source file.
Rodrigo Kumpera [Wed, 12 Dec 2012 23:15:04 +0000 (18:15 -0500)]
Add a monotouch Mono.Security source file.

11 years agoSimple Automake concatenation is not enough to do all the evil things.
Rodrigo Kumpera [Wed, 12 Dec 2012 22:53:45 +0000 (17:53 -0500)]
Simple Automake concatenation is not enough to do all the evil things.

* autogen.sh: Automake does support adding files to the list of program
sources using += but has no -= to remove them. This means that it's
not possible to replace a source file at all.

Given that, the only option is to patch automake. Call an external
script that apply the whole patch queue instead of doing it there.

11 years agoKill this failed attemp at automake configuration extension.
Rodrigo Kumpera [Wed, 12 Dec 2012 22:53:14 +0000 (17:53 -0500)]
Kill this failed attemp at automake configuration extension.

11 years agoAdd 6 sgen configurations with ssb to our test suite.
Rodrigo Kumpera [Wed, 12 Dec 2012 16:16:51 +0000 (11:16 -0500)]
Add 6 sgen configurations with ssb to our test suite.

11 years agoNow this somehow needed fix, resulted in invalid two-lines-joined-into-one-line output...
Atsushi Eno [Wed, 9 May 2012 19:16:06 +0000 (04:16 +0900)]
Now this somehow needed fix, resulted in invalid two-lines-joined-into-one-line output...

11 years agoMatch the existing name for Aes implementation for source/binary compatibility
Sebastien Pouliot [Tue, 3 Apr 2012 12:51:23 +0000 (08:51 -0400)]
Match the existing name for Aes implementation for source/binary compatibility

11 years agoAdjust System.Core and Mono.Security builds to use MonoTouch's CommonCrypto source...
Sebastien Pouliot [Mon, 26 Mar 2012 19:09:32 +0000 (15:09 -0400)]
Adjust System.Core and Mono.Security builds to use MonoTouch's CommonCrypto source files

11 years agoMerge pull request #522 from kosumosu/master
Rodrigo Kumpera [Wed, 12 Dec 2012 16:24:33 +0000 (08:24 -0800)]
Merge pull request #522 from kosumosu/master

Fix for bug #2907 XML "choice" not correclty processed during deserialization

11 years agoBump ikvm module
Marek Safar [Wed, 12 Dec 2012 14:42:44 +0000 (15:42 +0100)]
Bump ikvm module

11 years agoDon't use IteratorStateMachineAttribute it makes us csc incompatible
Marek Safar [Wed, 12 Dec 2012 14:29:32 +0000 (15:29 +0100)]
Don't use IteratorStateMachineAttribute it makes us csc incompatible

11 years agoImport caller attributes from referenced assemblies. Fixes #8829
Marek Safar [Wed, 12 Dec 2012 14:04:53 +0000 (15:04 +0100)]
Import caller attributes from referenced assemblies. Fixes #8829

11 years ago[monkeydoc] Sanitize namespace/path names
Jeremie Laval [Fri, 30 Nov 2012 13:44:15 +0000 (13:44 +0000)]
[monkeydoc] Sanitize namespace/path names

11 years ago[sgen] Try to fix Win32 build.
Mark Probst [Wed, 12 Dec 2012 10:45:24 +0000 (11:45 +0100)]
[sgen] Try to fix Win32 build.

11 years agoFixed Choice ordered read bug #2907
Roman Zavalov [Wed, 12 Dec 2012 08:33:26 +0000 (12:33 +0400)]
Fixed Choice ordered read bug #2907

11 years ago[monkeydoc] Optimize Lucene index creation in ecma-provider by avoiding allocation...
Jérémie Laval [Tue, 11 Dec 2012 22:36:21 +0000 (22:36 +0000)]
[monkeydoc] Optimize Lucene index creation in ecma-provider by avoiding allocation and generic string matching

11 years ago[monkeydoc] Add back Lucene search creation for ecma-provider, switching from manuall...
Jérémie Laval [Tue, 11 Dec 2012 17:19:00 +0000 (18:19 +0100)]
[monkeydoc] Add back Lucene search creation for ecma-provider, switching from manually generated XPath to XLinq.

11 years ago[monkeydoc] Correctly compute internal id
Jérémie Laval [Tue, 11 Dec 2012 17:15:16 +0000 (18:15 +0100)]
[monkeydoc] Correctly compute internal id

11 years ago[monkeydoc] Correctly append kind caption to types
Jérémie Laval [Tue, 11 Dec 2012 17:13:42 +0000 (18:13 +0100)]
[monkeydoc] Correctly append kind caption to types

11 years ago[monkeydoc] Set things right
Jérémie Laval [Tue, 11 Dec 2012 17:13:12 +0000 (18:13 +0100)]
[monkeydoc] Set things right

11 years ago[monkeydoc] Use HelpSource's name to compute the cache key
Jérémie Laval [Tue, 11 Dec 2012 17:12:02 +0000 (18:12 +0100)]
[monkeydoc] Use HelpSource's name to compute the cache key

11 years ago[doc] Disable mono-tracing as an documented API in TOC as it's not generated anymore.
Jérémie Laval [Tue, 11 Dec 2012 12:27:02 +0000 (13:27 +0100)]
[doc] Disable mono-tracing as an documented API in TOC as it's not generated anymore.

11 years agoRevert "Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatti...
Rodrigo Kumpera [Tue, 11 Dec 2012 20:42:12 +0000 (15:42 -0500)]
Revert "Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes"

This reverts commit 8bb9b4409d3f73fdf5ec2afc3b9add6bd33f712f, reversing
changes made to a5dd9d6910896c4d38e1b7d956f1124ab744bc67.

11 years agoFix reactive.pc file name in rpm spec.
Atsushi Eno [Tue, 11 Dec 2012 19:03:23 +0000 (04:03 +0900)]
Fix reactive.pc file name in rpm spec.

11 years agoAutomake can't handle missing conditional includes. Shell script our way out.
Rodrigo Kumpera [Tue, 11 Dec 2012 17:04:01 +0000 (12:04 -0500)]
Automake can't handle missing conditional includes. Shell script our way out.

* autogen.sh: The extension module conditional include can't be done from automake
given this wonderful piece of engineering can't handle missing conditional includes
in any sane way. So what we do is to include them at autogen.sh time.

* Makefile.am.in: This puppy now needs to be pre-processed before all the automake
shinning glory kicks in.

11 years ago[sgen] Fix SGen tests.
Mark Probst [Tue, 11 Dec 2012 17:27:47 +0000 (18:27 +0100)]
[sgen] Fix SGen tests.

Concurrent sweep is gone, and concurrent M&S is in.

11 years ago[build] Update Lucene.net submodule to use mono org URL
Jérémie Laval [Tue, 11 Dec 2012 12:06:19 +0000 (13:06 +0100)]
[build] Update Lucene.net submodule to use mono org URL

11 years agooops, forgot to bring reactive.pc back after some attempts to fix master build.
Atsushi Eno [Tue, 11 Dec 2012 08:31:00 +0000 (17:31 +0900)]
oops, forgot to bring reactive.pc back after some attempts to fix master build.

11 years agoMerge pull request #519 from Youscribe/execution_context_call
Marek Safar [Tue, 11 Dec 2012 08:28:25 +0000 (00:28 -0800)]
Merge pull request #519 from Youscribe/execution_context_call

add LogicalCallContext to ExecutionContext

11 years agoMerge pull request #521 from DavidS/stub-ServiceInstaller-4-0
Marek Safar [Tue, 11 Dec 2012 08:03:43 +0000 (00:03 -0800)]
Merge pull request #521 from DavidS/stub-ServiceInstaller-4-0

ServiceInstaller: add DelayedAutoStart property for NET_4_0

11 years agofix build so far.
Atsushi Eno [Tue, 11 Dec 2012 06:46:02 +0000 (15:46 +0900)]
fix build so far.

11 years agoAdd Reactive Extensions as installed libs, take 2 (with fixed rpmspec this time).
Atsushi Eno [Tue, 11 Dec 2012 06:34:19 +0000 (15:34 +0900)]
Add Reactive Extensions as installed libs, take 2 (with fixed rpmspec this time).

11 years agoServiceInstaller: add DelayedAutoStart property for NET_4_0
David Schmitt [Tue, 11 Dec 2012 06:28:39 +0000 (07:28 +0100)]
ServiceInstaller: add DelayedAutoStart property for NET_4_0

11 years agoIntroduce hooks for parallel build scripts.
Rodrigo Kumpera [Mon, 10 Dec 2012 22:15:16 +0000 (17:15 -0500)]
Introduce hooks for parallel build scripts.

* configure.in: Add new configure option that allows a parallel set of
build scripts to contribute to the current one.

* mono/mini/Makefile.am: Include the parallel build scripts when generating
Makefiles.

* mcs/build/gensources.sh:
* mcs/build/library.make: Probe for parallel source lists when building the
class libs.

11 years agoIntroduce support for unlimited trampolines.
Paolo Molaro [Wed, 14 Nov 2012 14:03:41 +0000 (15:03 +0100)]
Introduce support for unlimited trampolines.

With this new code there is no longer an AOT compiler limit on the number of
trampolines, as they are allocated at runtime as necessary on iOS systems.
We use iOS's ability to remap a page to a different address in memory
and we replicate the trampolines we generate in the binary file to a
location in memory near a writable page where the trampolines can find the
specific runtime data needed (basically building writable constant pools).
On a big app like bcltests, this saves more than 900KB of binary size.
There is still the option to use the old code, by passing the "nopagetrampolines"
option tp the AOT compiler (the new code is the default).

11 years agoSimplify a bit FULL_AOT_RUNTIME build wrt use of CommonCrypto. Ref: assistly #9858
Sebastien Pouliot [Tue, 17 Apr 2012 14:17:59 +0000 (10:17 -0400)]
Simplify a bit FULL_AOT_RUNTIME build wrt use of CommonCrypto. Ref: assistly #9858

11 years agofix code according to mono coding guidelines
Yann ROBIN [Mon, 10 Dec 2012 21:37:38 +0000 (22:37 +0100)]
fix code according to mono coding guidelines

11 years agofix code according to mono coding guidelines
Yann ROBIN [Mon, 10 Dec 2012 19:55:14 +0000 (20:55 +0100)]
fix code according to mono coding guidelines

11 years ago[sgen] Build fix.
Mark Probst [Mon, 10 Dec 2012 17:50:58 +0000 (18:50 +0100)]
[sgen] Build fix.

11 years ago[monodoc] Look for docs in LocalApplicationData
Jonathan Pryor [Mon, 10 Dec 2012 17:15:57 +0000 (12:15 -0500)]
[monodoc] Look for docs in LocalApplicationData

Problem: At present, the MonoTouch installer merges MonoTouch
documentation "stubs" with the locally installed iOS documentation,
and installs them into
/Library/Frameworks/Mono.framework/External/monodoc. Since this
directory isn't world writable, you need to be root to do it.

Previously this wasn't a major problem ("just" run the updater as
root), but Apple is now suggesting the use of a setuid binary to do
this instead of privilege escalation:

http://blog.neteril.org/blog/2012/12/06/a-better-monomac-privilege-elevation/

The problem is that setuid binaries are notoriously difficult to write
properly, and have a large number of ways to be exploited. This is bad.

To avoid this, we instead want to stick the merged documentation into
the per-user directory, which means the updater does NOT need to run
as root, we don't need to write the documentation to a protected
directory, and the security concerns are significantly saner.

This in turn means that monodoc.dll needs to be able to look for docs
in a per-user directory, thus this patch:

Update monodoc.dll to look for documentation in the directory:

Path.Combine (
Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData),
"monodoc")

(On OS X/Unix, this is ~/.local/share/monodoc.)

This is a per-user directory, writable by the user.

11 years ago[sgen] Mention marksweep-conc in the man page.
Mark Probst [Sun, 9 Dec 2012 13:26:17 +0000 (14:26 +0100)]
[sgen] Mention marksweep-conc in the man page.

11 years ago[sgen] Debugging code to check gray queue section's states.
Mark Probst [Sun, 2 Dec 2012 13:48:00 +0000 (14:48 +0100)]
[sgen] Debugging code to check gray queue section's states.

11 years ago[sgen] Just pass one struct around, instead of scan_func, copy_func and queue.
Mark Probst [Fri, 30 Nov 2012 22:00:35 +0000 (23:00 +0100)]
[sgen] Just pass one struct around, instead of scan_func, copy_func and queue.

11 years ago[sgen] Use SGEN_ATOMIC_ADD instead of doing it by hand.
Mark Probst [Fri, 30 Nov 2012 20:57:16 +0000 (21:57 +0100)]
[sgen] Use SGEN_ATOMIC_ADD instead of doing it by hand.

11 years ago[sgen] Define all dummy DTrace macros.
Mark Probst [Thu, 29 Nov 2012 15:37:54 +0000 (16:37 +0100)]
[sgen] Define all dummy DTrace macros.

11 years ago[sgen] A few assertions.
Mark Probst [Thu, 29 Nov 2012 14:23:13 +0000 (15:23 +0100)]
[sgen] A few assertions.

11 years ago[sgen] Start the workers before pinning when concurrent.
Mark Probst [Thu, 29 Nov 2012 14:22:33 +0000 (15:22 +0100)]
[sgen] Start the workers before pinning when concurrent.

11 years ago[sgen] Disable redirection to distribute queue after workers have stopped.
Mark Probst [Thu, 29 Nov 2012 14:21:01 +0000 (15:21 +0100)]
[sgen] Disable redirection to distribute queue after workers have stopped.

11 years ago[sgen] Fix weak tracking links in concurrent mark.
Mark Probst [Thu, 29 Nov 2012 10:26:18 +0000 (11:26 +0100)]
[sgen] Fix weak tracking links in concurrent mark.

This was broken because nursery objects were not marked pinned
at the time references were checked, so they were considered dead
and the links were nulled.

We solve this by not unpinning them in the finishing nursery collection
but instead leaving them pinned during the finish-up of the major
collection and unpinning them afterwards.

11 years agoMake weak links initialized to NULL before calling mono_gc_weak_link_add().
Mark Probst [Tue, 27 Nov 2012 17:07:48 +0000 (18:07 +0100)]
Make weak links initialized to NULL before calling mono_gc_weak_link_add().

This has no effect, but the weak link DTrace probes don't get uninitialized
pointers anymore.

11 years ago[sgen] DTrace probes for finalisers and weak links.
Mark Probst [Tue, 27 Nov 2012 17:01:02 +0000 (18:01 +0100)]
[sgen] DTrace probes for finalisers and weak links.

11 years ago[sgen] Remove workers_gc_thread_data.
Mark Probst [Sat, 24 Nov 2012 16:03:40 +0000 (17:03 +0100)]
[sgen] Remove workers_gc_thread_data.

It's not used anymore.

11 years ago[sgen] Number of major objects marked in concurrent DTrace probes.
Mark Probst [Thu, 22 Nov 2012 12:11:35 +0000 (13:11 +0100)]
[sgen] Number of major objects marked in concurrent DTrace probes.

Can be enabled/disabled via #define in sgen-conf.h.  Disabled by default
because it's a small performance hit.

11 years ago[sgen] Remove debugging printfs.
Mark Probst [Thu, 22 Nov 2012 11:56:20 +0000 (12:56 +0100)]
[sgen] Remove debugging printfs.

11 years ago[sgen] Handle all blocks without mod union tables, not just the small object ones.
Mark Probst [Sun, 18 Nov 2012 16:52:29 +0000 (17:52 +0100)]
[sgen] Handle all blocks without mod union tables, not just the small object ones.

11 years ago[sgen] Handle major object remembers happening outside of nursery collections.
Mark Probst [Sun, 18 Nov 2012 16:45:29 +0000 (17:45 +0100)]
[sgen] Handle major object remembers happening outside of nursery collections.

11 years ago[sgen] Option to disable lazy sweep in MONO_GC_PARAMS.
Mark Probst [Fri, 16 Nov 2012 17:24:57 +0000 (18:24 +0100)]
[sgen] Option to disable lazy sweep in MONO_GC_PARAMS.

11 years ago[sgen] Don't try to wake up workers before they've been started.
Mark Probst [Fri, 16 Nov 2012 17:21:27 +0000 (18:21 +0100)]
[sgen] Don't try to wake up workers before they've been started.

We enqueue gray objects before starting the workers, so queue section redirection
can also happen before.  Don't crash with an assertion.

11 years ago[sgen] Remove stupid old concurrent sweep.
Mark Probst [Fri, 16 Nov 2012 16:29:08 +0000 (17:29 +0100)]
[sgen] Remove stupid old concurrent sweep.

11 years ago[sgen] Sweep blocks in cardtable scans only if there are marked cards in the block.
Mark Probst [Fri, 16 Nov 2012 10:53:01 +0000 (11:53 +0100)]
[sgen] Sweep blocks in cardtable scans only if there are marked cards in the block.

11 years ago[sgen] Don't try to wait for workers unless we're concurrent and/or parallel.
Mark Probst [Fri, 16 Nov 2012 10:52:06 +0000 (11:52 +0100)]
[sgen] Don't try to wait for workers unless we're concurrent and/or parallel.

11 years ago[sgen] More information in sweep and world restart DTrace probes.
Mark Probst [Fri, 16 Nov 2012 10:48:05 +0000 (11:48 +0100)]
[sgen] More information in sweep and world restart DTrace probes.

Pass to the sweep probes whether a full sweep (including memset and resetting
mark bitmaps) was performed.

Pass to the world restart probes the oldest generation collected during
the pause.

11 years ago[sgen] Fix locking of the worker distribute gray queue.
Mark Probst [Thu, 15 Nov 2012 15:05:20 +0000 (16:05 +0100)]
[sgen] Fix locking of the worker distribute gray queue.

The worker distribute gray queue is written to by the main GC thread
and read from by the worker thread(s) for work distribution.  Locking it is
therefore necessary, but we weren't doing it properly.

Previously I implemented optional locking for gray queues, but that's a
bad idea because it makes the enqueue fast path slower.  Now gray queues
are back to non-locking, but we have a new queue type, the section gray
queue, which is only accessible on a gray queue section granularity, not
on an individual object granularity, like regular gray queues.  Performance
there is not as critical, so locking is no problem.

11 years ago[sgen] Remove gray queue balance.
Mark Probst [Tue, 13 Nov 2012 19:42:41 +0000 (20:42 +0100)]
[sgen] Remove gray queue balance.

Old, unmaintained debugging stuff.

11 years ago[sgen] DTrace probes for sweep begin/end and concurrent start/finish begin/end.
Mark Probst [Wed, 7 Nov 2012 16:06:43 +0000 (17:06 +0100)]
[sgen] DTrace probes for sweep begin/end and concurrent start/finish begin/end.

11 years ago[sgen] Workers dequeue from the distribute gray queue directly.
Mark Probst [Wed, 7 Nov 2012 15:58:43 +0000 (16:58 +0100)]
[sgen] Workers dequeue from the distribute gray queue directly.

Previously we manually fed the workers, only restarting the world
when the distribute gray queue was empty, which neglected most of the
benefit of concurrent collection.  Now we use locking for the queue and
let workers drain it while the world runs again.

If the locking turns out to be a bottleneck we could implement a lock-free
queue.

11 years ago[sgen] Always allocate objects with a vtable.
Mark Probst [Tue, 6 Nov 2012 14:11:46 +0000 (15:11 +0100)]
[sgen] Always allocate objects with a vtable.

11 years ago[sgen] DTrace probes for world stop/restart.
Mark Probst [Mon, 5 Nov 2012 11:08:41 +0000 (12:08 +0100)]
[sgen] DTrace probes for world stop/restart.

11 years ago[sgen] Only scan marked objects when processing the mod union card table.
Mark Probst [Fri, 2 Nov 2012 20:26:16 +0000 (21:26 +0100)]
[sgen] Only scan marked objects when processing the mod union card table.

11 years ago[sgen] Make nursery-is-clean check a MONO_GC_DEBUG option.
Mark Probst [Thu, 1 Nov 2012 18:30:41 +0000 (19:30 +0100)]
[sgen] Make nursery-is-clean check a MONO_GC_DEBUG option.

11 years ago[sgen] Debugging checks on gray object enqueues.
Mark Probst [Thu, 1 Nov 2012 18:28:02 +0000 (19:28 +0100)]
[sgen] Debugging checks on gray object enqueues.

Have an optional (compile-time #define) hook in gray object queues to
check references whenever they are enqueued.  Currently we only check
that we never enqueue nursery pointers in the concurrent collector.

11 years ago[sgen] Never enqueue nursery pointers for the concurrent collector.
Mark Probst [Thu, 1 Nov 2012 18:24:44 +0000 (19:24 +0100)]
[sgen] Never enqueue nursery pointers for the concurrent collector.

The concurrent collector must never touch the nursery because it can change
during nursery collections.  During the initial scan we process all pinned objects
in the nursery.  This must be done non-concurrently.

11 years ago[sgen] Major collection concurrent with nursery collections.
Mark Probst [Thu, 1 Nov 2012 13:08:09 +0000 (14:08 +0100)]
[sgen] Major collection concurrent with nursery collections.

11 years ago[sgen] Separate binary protocol entries for collection begin and end.
Mark Probst [Thu, 1 Nov 2012 13:03:35 +0000 (14:03 +0100)]
[sgen] Separate binary protocol entries for collection begin and end.

11 years ago[sgen] Objects promoted during concurrent collections must be marked, too.
Mark Probst [Thu, 1 Nov 2012 13:00:51 +0000 (14:00 +0100)]
[sgen] Objects promoted during concurrent collections must be marked, too.

11 years ago[sgen] Clear nursery fragments before whole heap check.
Mark Probst [Thu, 1 Nov 2012 12:52:31 +0000 (13:52 +0100)]
[sgen] Clear nursery fragments before whole heap check.

11 years ago[sgen] Enqueue objects allocated during minor collections for concurrent.
Mark Probst [Sun, 28 Oct 2012 11:21:10 +0000 (12:21 +0100)]
[sgen] Enqueue objects allocated during minor collections for concurrent.

11 years ago[sgen] Pass scan function to sgen_drain_gray_stack().
Mark Probst [Sun, 28 Oct 2012 10:56:00 +0000 (11:56 +0100)]
[sgen] Pass scan function to sgen_drain_gray_stack().