mono.git
9 years agoMerge pull request #1412 from esdrubal/stackframe
Zoltan Varga [Sun, 30 Nov 2014 14:11:03 +0000 (15:11 +0100)]
Merge pull request #1412 from esdrubal/stackframe

Release sequence points and Symbolicate tool

9 years ago[runtime] Call mono_gc_base_init () in sdb, since it is no longer called by the code...
Zoltan Varga [Sun, 30 Nov 2014 14:02:46 +0000 (15:02 +0100)]
[runtime] Call mono_gc_base_init () in sdb, since it is no longer called by the code in mono-debug.c.

9 years agoFix the build.
Zoltan Varga [Sun, 30 Nov 2014 10:32:09 +0000 (11:32 +0100)]
Fix the build.

9 years ago[runtime] Use SIGWINCH as the android debugger signal (), SIGUSR2 doesn't seem to...
Zoltan Varga [Sun, 30 Nov 2014 02:13:03 +0000 (03:13 +0100)]
[runtime] Use SIGWINCH as the android debugger signal (), SIGUSR2 doesn't seem to work on emulators.

9 years agoMerge remote-tracking branch 'mfoliveira/ppc64el-v2'
Zoltan Varga [Sun, 30 Nov 2014 01:48:38 +0000 (02:48 +0100)]
Merge remote-tracking branch 'mfoliveira/ppc64el-v2'

This is a merge of:

https://github.com/mono/mono/pull/1409

9 years ago[runtime] Remove some unused metadata includes from utils/.
Zoltan Varga [Sun, 30 Nov 2014 01:34:13 +0000 (02:34 +0100)]
[runtime] Remove some unused metadata includes from utils/.

9 years agoFixes build
Marek Safar [Fri, 28 Nov 2014 20:34:15 +0000 (21:34 +0100)]
Fixes build

9 years ago[mcs] new test
Marek Safar [Fri, 28 Nov 2014 19:23:40 +0000 (20:23 +0100)]
[mcs] new test

9 years ago[mcs] Less cascading errors
Marek Safar [Fri, 28 Nov 2014 17:18:06 +0000 (18:18 +0100)]
[mcs] Less cascading errors

9 years ago[mcs] Extend tie-breaking rules in overload resolution when default parameters are...
Marek Safar [Fri, 28 Nov 2014 17:16:50 +0000 (18:16 +0100)]
[mcs] Extend tie-breaking rules in overload resolution when default parameters are unused

9 years ago[build] Added support for ARM64 Android cross-compilation.
João Matos [Fri, 28 Nov 2014 16:50:21 +0000 (16:50 +0000)]
[build] Added support for ARM64 Android cross-compilation.

9 years agoMerge pull request #1401 from fquiroz01/patch-1
Alex Rønne Petersen [Fri, 28 Nov 2014 17:05:35 +0000 (18:05 +0100)]
Merge pull request #1401 from fquiroz01/patch-1

Add IE9 and newer to Up level navigator

9 years ago[runtime] Fix a copyright date.
Zoltan Varga [Fri, 28 Nov 2014 16:43:10 +0000 (17:43 +0100)]
[runtime] Fix a copyright date.

9 years ago[mcs] Check delegate return type conversion during implicit delegate conversion
Marek Safar [Fri, 28 Nov 2014 14:23:09 +0000 (15:23 +0100)]
[mcs] Check delegate return type conversion during implicit delegate conversion

9 years ago[mcs] Tweak naming of nested types. Fixes #24172
Marek Safar [Fri, 28 Nov 2014 12:23:38 +0000 (13:23 +0100)]
[mcs] Tweak naming of nested types. Fixes #24172

9 years ago[runtime] Add a remoting.h file and move the remoting related marshal function declar...
Zoltan Varga [Fri, 28 Nov 2014 05:23:48 +0000 (06:23 +0100)]
[runtime] Add a remoting.h file and move the remoting related marshal function declarations there. Add a low level lock used by the remoting.c file and an initialization function.

9 years ago[runtime] Fix the build.
Zoltan Varga [Fri, 28 Nov 2014 05:15:05 +0000 (06:15 +0100)]
[runtime] Fix the build.

9 years ago[runtime] Fix the DISABLE_REMOTING build.
Zoltan Varga [Fri, 28 Nov 2014 04:55:18 +0000 (05:55 +0100)]
[runtime] Fix the DISABLE_REMOTING build.

9 years ago[runtime] Extract the remoting code from marshal.c into a separate remoting.c file.
Zoltan Varga [Fri, 28 Nov 2014 04:50:39 +0000 (05:50 +0100)]
[runtime] Extract the remoting code from marshal.c into a separate remoting.c file.

9 years ago[runtime] Remove more unused debug code.
Zoltan Varga [Fri, 28 Nov 2014 02:40:42 +0000 (03:40 +0100)]
[runtime] Remove more unused debug code.

9 years ago[runtime] Simplify mono-debug.c since we no longer have to serialize a lot of the...
Zoltan Varga [Fri, 28 Nov 2014 02:36:56 +0000 (03:36 +0100)]
[runtime] Simplify mono-debug.c since we no longer have to serialize a lot of the data.

9 years ago[runtime] Remove an obsolete comment.
Zoltan Varga [Fri, 28 Nov 2014 00:10:03 +0000 (01:10 +0100)]
[runtime] Remove an obsolete comment.

9 years ago[runtime] Change the default runtime version to 4.5.
Zoltan Varga [Fri, 28 Nov 2014 00:07:06 +0000 (01:07 +0100)]
[runtime] Change the default runtime version to 4.5.

9 years agoMerge pull request #1431 from esdrubal/enummap
Alex Rønne Petersen [Thu, 27 Nov 2014 23:30:44 +0000 (00:30 +0100)]
Merge pull request #1431 from esdrubal/enummap

Fixed how EnumMap serializes flag values.

9 years agoMake the various '2' (al2/resgen2 etc.) scripts target net 4.5.
Zoltan Varga [Thu, 27 Nov 2014 23:26:28 +0000 (00:26 +0100)]
Make the various '2' (al2/resgen2 etc.) scripts target net 4.5.

9 years agoFix the build.
Zoltan Varga [Thu, 27 Nov 2014 23:11:27 +0000 (00:11 +0100)]
Fix the build.

9 years agoFixed how EnumMap serializes flag values. Fixes #21072.
Marcos Henrich [Thu, 27 Nov 2014 12:57:22 +0000 (12:57 +0000)]
Fixed how EnumMap serializes flag values. Fixes #21072.
While serializing an enum value, EnumMap no longer considers partial matching flags when there is a flag that matches exactly.

9 years agoTest DataContractSerializer with flags enum. Covers #21072.
Marcos Henrich [Thu, 27 Nov 2014 12:51:57 +0000 (12:51 +0000)]
Test DataContractSerializer with flags enum. Covers #21072.
When serializing an enum value, matching flags should not be consider when there is a flag that matches exactly.

9 years agoMake gmcs/dmcs the same as mcs.
Zoltan Varga [Thu, 27 Nov 2014 16:41:53 +0000 (17:41 +0100)]
Make gmcs/dmcs the same as mcs.

9 years ago[mcs] Update import of private struct fields for flow analysis.
Marek Safar [Thu, 27 Nov 2014 16:29:45 +0000 (17:29 +0100)]
[mcs] Update import of private struct fields for flow analysis.

9 years agoMerge pull request #1432 from akoeplinger/parallel-fix
Marek Safar [Thu, 27 Nov 2014 15:12:11 +0000 (16:12 +0100)]
Merge pull request #1432 from akoeplinger/parallel-fix

[corlib] Fix Parallel.ForEach overload that hardcoded -1 for the item index

9 years ago[corlib] Fix Parallel.ForEach overload that hardcoded -1 for the item index
Alexander Köplinger [Thu, 27 Nov 2014 15:08:18 +0000 (16:08 +0100)]
[corlib] Fix Parallel.ForEach overload that hardcoded -1 for the item index

Xamarin bug #24891

9 years agoFix EXTRA_DIST of file in deleted regex folder
Jo Shields [Thu, 27 Nov 2014 11:06:21 +0000 (11:06 +0000)]
Fix EXTRA_DIST of file in deleted regex folder

9 years ago[MWF] Fix bug in DataGridViewRowCollection Clear() introduced by recent commit
Alexander Köplinger [Thu, 27 Nov 2014 04:29:32 +0000 (05:29 +0100)]
[MWF] Fix bug in DataGridViewRowCollection Clear() introduced by recent commit

7d1b878fbf13462a282860c6d1dd493a48d7b1eb altered the behavior of removing rows, breaking
the DataGridViewRowCollectionTest.ClearRows () test

Before the change, this is what happened when the list was cleared
(the number in brackets is the value of the Index property of the DataGridViewRow):

[0]  Remove   [1]  ReIndex  [0] Remove  [1] ReIndex  [0]
[1] --------> [2] --------> [1] ------> [2] -------> [1]  ...
[2]           [3]           [2]
[3]

After the offending commit, ReIndex is only called after the list is cleared, which means
the Index property of the rows is never updated (as there are no items in the list).

The fix is to explicitly set the Index of each row to 0.
This was the end result before the commit anyway, so we can omit the ReIndex call entirely.

9 years ago[system.net.http] Update range checks for invalid characters. Fixes #18800
Marek Safar [Thu, 27 Nov 2014 10:56:47 +0000 (11:56 +0100)]
[system.net.http] Update range checks for invalid characters. Fixes #18800

9 years agoFix "make dist" error caused by renamed sgen-marksweep-drain-gray-stack.h
Jo Shields [Thu, 27 Nov 2014 09:20:39 +0000 (09:20 +0000)]
Fix "make dist" error caused by renamed sgen-marksweep-drain-gray-stack.h

9 years agoFix build (SHARED_EXT was renamed to MONO_SOLIB_EXT in 4342bce4412bdd5fc70efcf9d055e2...
Alexander Köplinger [Thu, 27 Nov 2014 02:20:56 +0000 (03:20 +0100)]
Fix build (SHARED_EXT was renamed to MONO_SOLIB_EXT in 4342bce4412bdd5fc70efcf9d055e23a7a908b64)

9 years ago[system.net.http] Escape more RFC5987 characters. Fixes #24785
Marek Safar [Thu, 27 Nov 2014 08:05:52 +0000 (09:05 +0100)]
[system.net.http] Escape more RFC5987 characters. Fixes #24785

9 years agoMerge pull request #1430 from akoeplinger/readme
Miguel de Icaza [Thu, 27 Nov 2014 03:17:23 +0000 (22:17 -0500)]
Merge pull request #1430 from akoeplinger/readme

Improve README.md and focus on relevant content

9 years agoMerge pull request #1319 from directhex/systemwide-per-arch-aot-cache
Alex Rønne Petersen [Thu, 27 Nov 2014 00:28:49 +0000 (01:28 +0100)]
Merge pull request #1319 from directhex/systemwide-per-arch-aot-cache

Add a third AOT location, alongside ~/.mono/aot-cache and the assembly dir

9 years agoImprove README.md and focus on relevant content
Alexander Köplinger [Sun, 23 Nov 2014 22:28:31 +0000 (23:28 +0100)]
Improve README.md and focus on relevant content

Before, the first thing the user saw were instructions for niche platforms like Itanium or Solaris.
Instead, we now just link to the "Compiling Mono" guides for OSX, Linux and Windows on the Mono website.

Additionally, a bunch of instructions were outdated / no longer relevant, updated those.

The "Configuration options" section was moved to the bottom of the readme, it was pretty long and pushed
the other sections into oblivion.

9 years agoMerge pull request #1407 from chrisvire/bug-24587
Alex Rønne Petersen [Wed, 26 Nov 2014 23:43:18 +0000 (00:43 +0100)]
Merge pull request #1407 from chrisvire/bug-24587

[MWF] Fix focus issue when removing last item in ListView

9 years agoMerge pull request #1424 from akoeplinger/remove-enable-nunit-tests
Alex Rønne Petersen [Wed, 26 Nov 2014 23:41:29 +0000 (00:41 +0100)]
Merge pull request #1424 from akoeplinger/remove-enable-nunit-tests

Remove --enable-nunit-tests option from build system

9 years ago[mcs] Remove declaration expression named argument parsing (not part of the language...
Marek Safar [Wed, 26 Nov 2014 21:57:58 +0000 (22:57 +0100)]
[mcs] Remove declaration expression named argument parsing (not part of the language yet). Fixes #24784

9 years ago[sgen] Fix concurrent M&S.
Mark Probst [Wed, 26 Nov 2014 21:52:27 +0000 (13:52 -0800)]
[sgen] Fix concurrent M&S.

9 years agoBump referencesource to fix mobile profile compilation of System.ComponentModel.DataA...
Sebastien Pouliot [Wed, 26 Nov 2014 21:26:35 +0000 (16:26 -0500)]
Bump referencesource to fix mobile profile compilation of System.ComponentModel.DataAnnotations

9 years agoFix mobile build wrt System.Core changes
Sebastien Pouliot [Wed, 26 Nov 2014 21:00:57 +0000 (16:00 -0500)]
Fix mobile build wrt System.Core changes

9 years ago[System] Make it build with the MonoTouch profile
Miguel de Icaza [Wed, 26 Nov 2014 19:43:25 +0000 (14:43 -0500)]
[System] Make it build with the MonoTouch profile

9 years agoDrop dead notes/code
Miguel de Icaza [Mon, 24 Nov 2014 17:40:10 +0000 (12:40 -0500)]
Drop dead notes/code

9 years agoFixes build
Marek Safar [Wed, 26 Nov 2014 18:54:35 +0000 (19:54 +0100)]
Fixes build

9 years ago[sgen] Use all 3 lower vtable bits on 32 bits.
Mark Probst [Wed, 26 Nov 2014 01:23:14 +0000 (17:23 -0800)]
[sgen] Use all 3 lower vtable bits on 32 bits.

We can't actually use the trick of setting both the pinned and forwarded
bits to indicate cemented objects because the Tarjan bridge requires those
two bits never be set at the same time.

9 years ago[sgen] Align vtable pointers to 8 bytes on 32 bits, too.
Mark Probst [Tue, 25 Nov 2014 20:26:22 +0000 (12:26 -0800)]
[sgen] Align vtable pointers to 8 bytes on 32 bits, too.

9 years ago[sgen] Mempool allocations should be 8 byte aligned. Fix this on 32 bits.
Mark Probst [Tue, 25 Nov 2014 20:08:27 +0000 (12:08 -0800)]
[sgen] Mempool allocations should be 8 byte aligned.  Fix this on 32 bits.

The `MonoMemPool` struct is not a multiple of 8 bytes large, so we need
to align up to get the actual start of the pool data.

9 years ago[sgen] Remove unused defines.
Mark Probst [Mon, 24 Nov 2014 20:40:39 +0000 (12:40 -0800)]
[sgen] Remove unused defines.

9 years ago[sgen] Document descriptor types in comment.
Mark Probst [Mon, 17 Nov 2014 22:52:03 +0000 (14:52 -0800)]
[sgen] Document descriptor types in comment.

9 years ago[sgen] Symbolic constants for pointer-free descriptor types.
Mark Probst [Mon, 17 Nov 2014 22:51:31 +0000 (14:51 -0800)]
[sgen] Symbolic constants for pointer-free descriptor types.

9 years ago[sgen] Separate descriptor type enums.
Mark Probst [Mon, 17 Nov 2014 22:50:59 +0000 (14:50 -0800)]
[sgen] Separate descriptor type enums.

9 years ago[sgen] Use a symbolic constant for the descriptor type mask.
Mark Probst [Mon, 17 Nov 2014 22:49:05 +0000 (14:49 -0800)]
[sgen] Use a symbolic constant for the descriptor type mask.

9 years ago[sgen] Rename `LARGE_BITMAP` to `BITMAP`.
Mark Probst [Mon, 17 Nov 2014 22:28:31 +0000 (14:28 -0800)]
[sgen] Rename `LARGE_BITMAP` to `BITMAP`.

There's only one bitmap descriptor type left and no need to
distinguish between large and small.

9 years ago[sgen] Use `guint64` for most counters, not `long long`.
Mark Probst [Thu, 20 Nov 2014 21:45:23 +0000 (13:45 -0800)]
[sgen] Use `guint64` for most counters, not `long long`.

9 years ago[sgen] Fix cementing tag bit on 32 bits.
Mark Probst [Wed, 22 Oct 2014 18:30:46 +0000 (11:30 -0700)]
[sgen] Fix cementing tag bit on 32 bits.

We used the third-lowest vtable bit to tag cemented objects.  On 32 bits,
vtables are only 4-byte aligned so we have to make do with 2 bits.

9 years ago[sgen] Remove DESCRIPTOR_FAST_PATH option - don't use it.
Mark Probst [Tue, 21 Oct 2014 22:59:39 +0000 (15:59 -0700)]
[sgen] Remove DESCRIPTOR_FAST_PATH option - don't use it.

We're removing options that we've introduced for experimentation but that
didn't pan out.

9 years ago[sgen] Remove MARK_ON_ENQUEUE option - always use it now.
Mark Probst [Tue, 21 Oct 2014 22:52:53 +0000 (15:52 -0700)]
[sgen] Remove MARK_ON_ENQUEUE option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.

9 years ago[sgen] Remove GRAY_QUEUE_HAVE_DESCRIPTORS option - always use it now.
Mark Probst [Tue, 21 Oct 2014 22:46:39 +0000 (15:46 -0700)]
[sgen] Remove GRAY_QUEUE_HAVE_DESCRIPTORS option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.

9 years ago[sgen] Remove USE_PREFETCH_QUEUE option - don't use it.
Mark Probst [Tue, 21 Oct 2014 22:43:04 +0000 (15:43 -0700)]
[sgen] Remove USE_PREFETCH_QUEUE option - don't use it.

We're removing options that we've introduced for experimentation but that
didn't pan out.

9 years ago[sgen] Remove BLOCK_INFO_IN_HEADER option - always use it now.
Mark Probst [Tue, 21 Oct 2014 22:39:24 +0000 (15:39 -0700)]
[sgen] Remove BLOCK_INFO_IN_HEADER option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.

9 years ago[sgen] Use a smaller slot size scaling factor.
Mark Probst [Wed, 15 Oct 2014 21:24:10 +0000 (17:24 -0400)]
[sgen] Use a smaller slot size scaling factor.

The factor we used previously gave us object sizes in increments that made
some benchmarks use quite a lot more memory than necessary.  In particular,
we didn't have a size for 24 byte objects (on 64 bits), just for 16 and 32.

9 years ago[sgen] Make block size fastenable.
Mark Probst [Sat, 11 Oct 2014 16:18:22 +0000 (09:18 -0700)]
[sgen] Make block size fastenable.

9 years ago[sgen] Fix card scanning with larger block sizes.
Mark Probst [Fri, 10 Oct 2014 19:17:38 +0000 (12:17 -0700)]
[sgen] Fix card scanning with larger block sizes.

The card scanning code assumed that the size of the block header is less
than the size of a card.  If we put the block info into the header and increase
the block size enough, that assumption isn't true anymore, because the
mark bits take up space in proportion to the block size.

9 years ago[sgen] Experimental pre-fetch scan fast-path.
Mark Probst [Thu, 9 Oct 2014 18:55:30 +0000 (11:55 -0700)]
[sgen] Experimental pre-fetch scan fast-path.

The idea here is to first extract all the references within an object
and then to process them, pre-fetching the objects they point to a few
steps ahead.

9 years ago[sgen] Fix build for mark-on-dequeue.
Mark Probst [Wed, 8 Oct 2014 21:26:52 +0000 (14:26 -0700)]
[sgen] Fix build for mark-on-dequeue.

9 years ago[sgen] Nicer visualization of concurrent collector pauses in gcpausevis.py.
Mark Probst [Wed, 8 Oct 2014 19:28:57 +0000 (12:28 -0700)]
[sgen] Nicer visualization of concurrent collector pauses in gcpausevis.py.

9 years ago[sgen] Separate binary protocol entries for concurrent update and finish.
Mark Probst [Tue, 7 Oct 2014 20:54:36 +0000 (13:54 -0700)]
[sgen] Separate binary protocol entries for concurrent update and finish.

9 years ago[sgen] Flush binary protocol buffers after unloading a domain.
Mark Probst [Tue, 7 Oct 2014 20:53:50 +0000 (13:53 -0700)]
[sgen] Flush binary protocol buffers after unloading a domain.

When the runtime shuts down the last thing the GC usually hears about it
is that the root domain is unloaded.  If we don't flush the binary protocol
buffers at that point, we lose entries.

9 years ago[sgen] Fix build on C99.
Mark Probst [Tue, 7 Oct 2014 00:13:31 +0000 (17:13 -0700)]
[sgen] Fix build on C99.

9 years ago[sgen] Fix build with heavy statistics.
Mark Probst [Tue, 7 Oct 2014 00:11:50 +0000 (17:11 -0700)]
[sgen] Fix build with heavy statistics.

9 years ago[sgen] Rename sgen-major-scan-object.h to sgen-marksweep-scan-object-concurrent.h.
Mark Probst [Sun, 5 Oct 2014 03:13:41 +0000 (20:13 -0700)]
[sgen] Rename sgen-major-scan-object.h to sgen-marksweep-scan-object-concurrent.h.

9 years ago[sgen] Remove some dead code in sgen-major-scan-object.h.
Mark Probst [Sun, 5 Oct 2014 03:03:53 +0000 (20:03 -0700)]
[sgen] Remove some dead code in sgen-major-scan-object.h.

9 years ago[sgen] Unify scanning code a bit.
Mark Probst [Sat, 4 Oct 2014 23:42:27 +0000 (16:42 -0700)]
[sgen] Unify scanning code a bit.

We still have two separate implementations of the scanning code: The optimized
one and the old one.  The old one is still needed because it supports the concurrent
collector.  For the non-concurrent collector we can now use the optimized
implementation, however.

9 years ago[sgen] Add/fix some assertions.
Mark Probst [Sat, 4 Oct 2014 23:03:34 +0000 (16:03 -0700)]
[sgen] Add/fix some assertions.

9 years ago[sgen] Add some missing binary protocol invocations.
Mark Probst [Sat, 4 Oct 2014 23:02:41 +0000 (16:02 -0700)]
[sgen] Add some missing binary protocol invocations.

9 years ago[sgen] New protocol entry for processing of individual reference.
Mark Probst [Sat, 4 Oct 2014 22:53:27 +0000 (15:53 -0700)]
[sgen] New protocol entry for processing of individual reference.

9 years ago[sgen] In binary protocol grep, gray en-/dequeue must not always match.
Mark Probst [Sat, 4 Oct 2014 22:44:27 +0000 (15:44 -0700)]
[sgen] In binary protocol grep, gray en-/dequeue must not always match.

9 years ago[sgen] Remove binary protocol entry for null dequeue.
Mark Probst [Sat, 4 Oct 2014 22:43:48 +0000 (15:43 -0700)]
[sgen] Remove binary protocol entry for null dequeue.

9 years ago[sgen] Fix build on highest debug level.
Mark Probst [Sat, 4 Oct 2014 22:43:00 +0000 (15:43 -0700)]
[sgen] Fix build on highest debug level.

9 years ago[sgen] Handle copy object failure.
Mark Probst [Thu, 2 Oct 2014 23:56:00 +0000 (16:56 -0700)]
[sgen] Handle copy object failure.

This is just a verbatim copy of the old code.  It's unlikely it's ever
been tested, though.

9 years ago[sgen] Increase debug level of assertions in inner loops.
Mark Probst [Thu, 2 Oct 2014 23:55:39 +0000 (16:55 -0700)]
[sgen] Increase debug level of assertions in inner loops.

9 years ago[sgen] Remove dead code.
Mark Probst [Thu, 2 Oct 2014 23:47:05 +0000 (16:47 -0700)]
[sgen] Remove dead code.

This was still left from the parallel collector.

9 years ago[sgen] Fix build with prefetch queue enabled.
Mark Probst [Thu, 25 Sep 2014 21:56:30 +0000 (14:56 -0700)]
[sgen] Fix build with prefetch queue enabled.

9 years ago[sgen] Make new M&S parameters fastenable.
Mark Probst [Tue, 23 Sep 2014 23:45:44 +0000 (16:45 -0700)]
[sgen] Make new M&S parameters fastenable.

Fasten is a small tool for optimizing compile-time options:

    https://github.com/evincarofautumn/fasten

It does that by parsing source files for numbers that have been marked
as "fastenable", and fiddling around with them.  We do this for all
the new optimizations.

9 years ago[sgen] Support evacuation in the optimized mark/scan loop.
Mark Probst [Tue, 16 Sep 2014 09:25:52 +0000 (11:25 +0200)]
[sgen] Support evacuation in the optimized mark/scan loop.

We actually implement two separate mark/scan loops: One that doesn't
support evacuation and one that does.  We dynamically choose which one
to use.  The evacuation-less loop is faster, so we use it whenever we can.

9 years ago[sgen] Move drain_gray_stack() to copy/mark header file, too.
Mark Probst [Tue, 16 Sep 2014 09:07:09 +0000 (11:07 +0200)]
[sgen] Move drain_gray_stack() to copy/mark header file, too.

This inlines the scan/copy functions, so if we duplicate them we need
to duplicate this, too.

9 years ago[sgen] Remove old copy/mark function.
Mark Probst [Tue, 16 Sep 2014 08:23:20 +0000 (10:23 +0200)]
[sgen] Remove old copy/mark function.

The new, optimized function can now do everything the old one did, so
let's get rid of it.

9 years ago[sgen] Move copy/mark function into separate header file.
Mark Probst [Sun, 5 Oct 2014 00:10:21 +0000 (17:10 -0700)]
[sgen] Move copy/mark function into separate header file.

So we can later include them twice, once with support for evacuation
and once without.

9 years ago[sgen] Support evacuation again.
Mark Probst [Tue, 16 Sep 2014 08:02:56 +0000 (10:02 +0200)]
[sgen] Support evacuation again.

The performance impact of this is significant, so we will later make
two separate scan functions: one with evacuation and one without.

9 years ago[sgen] Support split nursery again.
Mark Probst [Tue, 16 Sep 2014 08:01:05 +0000 (10:01 +0200)]
[sgen] Support split nursery again.

This might degrade performance, in which case we'll special-case it
later on.

9 years ago[sgen] Unify the two small object mark cases again.
Mark Probst [Mon, 15 Sep 2014 09:07:56 +0000 (11:07 +0200)]
[sgen] Unify the two small object mark cases again.

The only difference between these two cases was that we used to
different heavy statistics counters.  We can do that within a single
case.

9 years ago[sgen] Use MS_MARK_OBJECT_AND_ENQUEUE where we expanded it previously.
Mark Probst [Mon, 15 Sep 2014 09:05:00 +0000 (11:05 +0200)]
[sgen] Use MS_MARK_OBJECT_AND_ENQUEUE where we expanded it previously.

It's still the same code, so use the macro directly.

9 years ago[sgen] Always inline the optimized copy function.
Mark Probst [Thu, 11 Sep 2014 10:36:12 +0000 (12:36 +0200)]
[sgen] Always inline the optimized copy function.

This is a huge win for some benchmarks.

9 years ago[sgen] Never fall back to the old copy function.
Mark Probst [Thu, 11 Sep 2014 10:35:29 +0000 (12:35 +0200)]
[sgen] Never fall back to the old copy function.