Imported Upstream version 5.18.0.195

Former-commit-id: 1ff4029b85556dbbbec89b032232e629ce755057
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-11-06 08:22:29 +00:00
parent 30f61da7aa
commit 53afbc2d24
48 changed files with 76 additions and 44 deletions

View File

@ -1 +1 @@
85f8eddb28634303dd6c3f91d53f2e1c3cb9fea0 8ad559df84be122da89b65cb9128d336923c49d6

View File

@ -1 +1 @@
c36924254401a4d926e1473e452fec74eb3b281c c1db514920ab9b8a51ace79aa67b54f51ee2d0af

View File

@ -34,7 +34,7 @@ static class Consts
// Use these assembly version constants to make code more maintainable. // Use these assembly version constants to make code more maintainable.
// //
public const string MonoVersion = "5.18.0.191"; public const string MonoVersion = "5.18.0.195";
public const string MonoCompany = "Mono development team"; public const string MonoCompany = "Mono development team";
public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoProduct = "Mono Common Language Infrastructure";
public const string MonoCopyright = "(c) Various Mono authors"; public const string MonoCopyright = "(c) Various Mono authors";

View File

@ -36,6 +36,39 @@ namespace MonoTests.System {
[TestFixture] [TestFixture]
public class GCTest { public class GCTest {
static class FinalizerHelpers {
private static IntPtr aptr;
private static unsafe void NoPinActionHelper (int depth, Action act)
{
// Avoid tail calls
int* values = stackalloc int [20];
aptr = new IntPtr (values);
if (depth <= 0) {
//
// When the action is called, this new thread might have not allocated
// anything yet in the nursery. This means that the address of the first
// object that would be allocated would be at the start of the tlab and
// implicitly the end of the previous tlab (address which can be in use
// when allocating on another thread, at checking if an object fits in
// this other tlab). We allocate a new dummy object to avoid this type
// of false pinning for most common cases.
//
new object ();
act ();
} else {
NoPinActionHelper (depth - 1, act);
}
}
public static void PerformNoPinAction (Action act)
{
Thread thr = new Thread (() => NoPinActionHelper (128, act));
thr.Start ();
thr.Join ();
}
}
class MyFinalizeObject class MyFinalizeObject
{ {
@ -58,10 +91,9 @@ namespace MonoTests.System {
[Test] [Test]
public void ReRegisterForFinalizeTest () public void ReRegisterForFinalizeTest ()
{ {
var thread = new Thread (Run_ReRegisterForFinalizeTest); FinalizerHelpers.PerformNoPinAction (delegate () {
thread.Start (); Run_ReRegisterForFinalizeTest ();
thread.Join (); });
var t = Task.Factory.StartNew (() => { var t = Task.Factory.StartNew (() => {
do { do {
GC.Collect (); GC.Collect ();

View File

@ -1 +1 @@
4730c44f098a052d27632a5bfe2304ee4d3af913 141796699f6678ab117b739913198e7427aabee6

View File

@ -1 +1 @@
10b482b579b3b06f78940ab3f5690d40ad6dd7f8 9e57699daed5253347c81fc9ac94063c6ef5da21

View File

@ -1 +1 @@
3b5c3c6a6fa41d6d2e8207e6deba4e15e54416e7 f7e6a79e42edc89d8332c59207c0abf3e4fbd586

View File

@ -1 +1 @@
a98b92266d1c0e161957995b6f2c254d175ff5d7 527b70519ee6a1edecd78fb6be22efd086db41a8

View File

@ -1 +1 @@
2ef73fd0e9d4df583428d687a2d980e16926f1dc e199ddda93a03d83f98e641029684dfffc691e7d

View File

@ -1 +1 @@
4a3c4cffbd791d9c1a379923de144c08d79a0bdf 59fde8209c4b2e1e17a9cb3d48a1837645d88129

View File

@ -1 +1 @@
b44dbf80dd8f12052dbc6683043e9777ad7847dd 9f08a69a564caed7da24614fa8830a118e50bb34

View File

@ -1 +1 @@
4730c44f098a052d27632a5bfe2304ee4d3af913 141796699f6678ab117b739913198e7427aabee6

View File

@ -1 +1 @@
10b482b579b3b06f78940ab3f5690d40ad6dd7f8 9e57699daed5253347c81fc9ac94063c6ef5da21

View File

@ -1 +1 @@
3b5c3c6a6fa41d6d2e8207e6deba4e15e54416e7 f7e6a79e42edc89d8332c59207c0abf3e4fbd586

View File

@ -1 +1 @@
a98b92266d1c0e161957995b6f2c254d175ff5d7 527b70519ee6a1edecd78fb6be22efd086db41a8

View File

@ -1 +1 @@
2ef73fd0e9d4df583428d687a2d980e16926f1dc e199ddda93a03d83f98e641029684dfffc691e7d

View File

@ -1 +1 @@
4a3c4cffbd791d9c1a379923de144c08d79a0bdf 59fde8209c4b2e1e17a9cb3d48a1837645d88129

View File

@ -1 +1 @@
b44dbf80dd8f12052dbc6683043e9777ad7847dd 9f08a69a564caed7da24614fa8830a118e50bb34

Some files were not shown because too many files have changed in this diff Show More