Merge branch 'upstream'

Former-commit-id: 988d1bc5ab0839cdea1de3bf34b9d2d242ee6cf7
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2017-02-15 10:09:34 +00:00
commit 4fe7f17928
41 changed files with 68 additions and 94 deletions

View File

@ -19,7 +19,7 @@ all: update_submodules
SUBMODULE_ERROR='Could not recursively update all git submodules. You may experience compilation problems if some submodules are out of date'
update_submodules:
@$(srcdir)/scripts/update_submodules
@$(srcdir)/scripts/update_submodules.sh
.PHONY: update_submodules

View File

@ -939,7 +939,7 @@ uninstall-am:
all: update_submodules
update_submodules:
@$(srcdir)/scripts/update_submodules
@$(srcdir)/scripts/update_submodules.sh
.PHONY: update_submodules

View File

@ -1 +1 @@
5ee52c595af4a754ddf1cc4e287415421e543537
1f5b54d986e9a0bb2907e076fbde52c66bc7e50d

View File

@ -1 +1 @@
c6c1d89ecade1efd48abd44c9cb42126f11dacff
a04424aabfe6acc33f8fe8cc3671eea3e0b4330b

View File

@ -14,6 +14,7 @@ namespace Mono.Debugger.Soft
ModuleMirror main_module;
AssemblyName aname;
AssemblyDefinition meta;
AppDomainMirror domain;
Dictionary<string, long> typeCacheIgnoreCase = new Dictionary<string, long> (StringComparer.InvariantCultureIgnoreCase);
Dictionary<string, long> typeCache = new Dictionary<string, long> ();
@ -50,6 +51,17 @@ namespace Mono.Debugger.Soft
}
}
// Since Protocol version 2.45
public AppDomainMirror Domain {
get {
if (domain == null) {
vm.CheckProtocolVersion (2, 45);
domain = vm.GetDomain (vm.conn.Assembly_GetIdDomain (id));
}
return domain;
}
}
public virtual AssemblyName GetName () {
if (aname == null) {
string name = vm.conn.Assembly_GetName (id);

View File

@ -420,7 +420,7 @@ namespace Mono.Debugger.Soft
* with newer runtimes, and vice versa.
*/
internal const int MAJOR_VERSION = 2;
internal const int MINOR_VERSION = 43;
internal const int MINOR_VERSION = 45;
enum WPSuspendPolicy {
NONE = 0,
@ -532,7 +532,8 @@ namespace Mono.Debugger.Soft
GET_MANIFEST_MODULE = 3,
GET_OBJECT = 4,
GET_TYPE = 5,
GET_NAME = 6
GET_NAME = 6,
GET_DOMAIN = 7
}
enum CmdModule {
@ -590,6 +591,7 @@ namespace Mono.Debugger.Soft
GET_THIS = 2,
SET_VALUES = 3,
GET_DOMAIN = 4,
SET_THIS = 5,
}
enum CmdArrayRef {
@ -2113,6 +2115,10 @@ namespace Mono.Debugger.Soft
return SendReceive (CommandSet.ASSEMBLY, (int)CmdAssembly.GET_NAME, new PacketWriter ().WriteId (id)).ReadString ();
}
internal long Assembly_GetIdDomain (long id) {
return SendReceive (CommandSet.ASSEMBLY, (int)CmdAssembly.GET_DOMAIN, new PacketWriter ().WriteId (id)).ReadId ();
}
/*
* TYPE
*/
@ -2410,6 +2416,10 @@ namespace Mono.Debugger.Soft
return SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.GET_DOMAIN, new PacketWriter ().WriteId (thread_id).WriteId (id)).ReadId ();
}
internal void StackFrame_SetThis (long thread_id, long id, ValueImpl value) {
SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.SET_THIS, new PacketWriter ().WriteId (thread_id).WriteId (id).WriteValue (value));
}
/*
* ARRAYS
*/

View File

@ -166,6 +166,15 @@ namespace Mono.Debugger.Soft
return vm.DecodeValue (vm.conn.StackFrame_GetThis (thread.Id, Id));
}
// Since protocol version 2.44
public void SetThis (Value value) {
if (value == null)
throw new ArgumentNullException ("value");
if (Method.IsStatic || !Method.DeclaringType.IsValueType)
throw new InvalidOperationException ("The frame's method needs to be a valuetype instance method.");
vm.conn.StackFrame_SetThis (thread.Id, Id, vm.EncodeValue (value));
}
public void SetValue (LocalVariable var, Value value) {
if (var == null)
throw new ArgumentNullException ("var");

View File

@ -1 +1 @@
10f28bcfc8faf083f7bacd0efadc598a4bbba506
1d8f429b58b595754ddcbc30238a86f4f64a5050

View File

@ -163,7 +163,7 @@ namespace Mono.Security.X509 {
cspParams.KeyContainerName = CryptoConvert.ToHex (certificate.Hash);
// Right now this seems to be the best way to know if we should use LM store.. ;)
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath))
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath) || _storePath.StartsWith(X509StoreManager.NewLocalMachinePath))
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
ImportPrivateKey (certificate, cspParams);
@ -338,7 +338,7 @@ namespace Mono.Security.X509 {
// If privateKey it's available, load it too..
CspParameters cspParams = new CspParameters ();
cspParams.KeyContainerName = CryptoConvert.ToHex (cert.Hash);
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath))
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath) || _storePath.StartsWith(X509StoreManager.NewLocalMachinePath))
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
KeyPairPersistence kpp = new KeyPairPersistence (cspParams);

View File

@ -1 +1 @@
87cdef5c41826c8ad40a46a9f662234769f1a596
3d79e44fa692cf973f2663a7bf559af29f22c161

View File

@ -1 +1 @@
a1437f73aa93b512e6b12d6a52339d1d4d2abd5d
1d5679f4c41950c1ebc6de1e704081e655202973

View File

@ -1 +1 @@
14b978577f098a3656996d0d47ba8f4f5ad2282b
27644619f0798b509db93fcc2c9c9daca7e87fd0

View File

@ -1 +1 @@
4290723c3f54f5143abed47828651d8f424b95f3
149fd98eeb1f80cda33f523a71586c3c56cce23d

View File

@ -1 +1 @@
9ae3f67f2d49337f9132b2676053d84cf34ff5d3
d82e9d9ead46347c5641a66f76035811190e0e5e

View File

@ -1 +1 @@
ab52f34a16be899445ac46f7fa080754b4035145
5e769f86c6e601eeed6a547e159a1e065ec48f06

View File

@ -1 +1 @@
e2132b7cb721bf4a4f23e20d5e295687d21b1ddf
01a4b08d98f10122f957785f3e414ead7d64ad42

View File

@ -1 +1 @@
1f23dd85def924073ad388e7604387b143d0f06b
7941c31777bd9ab2dc0aa8f7c4e6bcc0f5de68fb

View File

@ -458,8 +458,9 @@ struct MonoVTable {
guint8 *interface_bitmap;
guint16 max_interface_id;
guint8 rank;
/* Keep this a guint8, the jit depends on it */
guint8 initialized; /* cctor has been run */
guint remote : 1; /* class is remotely activated */
guint initialized : 1; /* cctor has been run */
guint init_failed : 1; /* cctor execution failed */
guint has_static_fields : 1; /* pointer to the data stored at the end of the vtable array */
guint gc_bits : MONO_VTABLE_AVAILABLE_GC_BITS; /* Those bits are reserved for the usaged of the GC */

View File

@ -76,6 +76,7 @@ DECL_OFFSET(MonoVTable, max_interface_id)
DECL_OFFSET(MonoVTable, interface_bitmap)
DECL_OFFSET(MonoVTable, vtable)
DECL_OFFSET(MonoVTable, rank)
DECL_OFFSET(MonoVTable, initialized)
DECL_OFFSET(MonoVTable, type)
DECL_OFFSET(MonoVTable, runtime_generic_context)

View File

@ -861,7 +861,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in
version.h: Makefile
echo "#define FULL_VERSION \"Stable 4.8.0.483/ba7f169\"" > version.h
echo "#define FULL_VERSION \"Stable 4.8.0.489/9ac5bf2\"" > version.h
# Utility target for patching libtool to speed up linking
patch-libtool:

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