Imported Upstream version 5.16.0.135

Former-commit-id: 28d9e60fa3ef68cbdb55d4aeeb9e18679dc66b69
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-09-01 08:21:58 +00:00
parent 29319da080
commit 526ff2cf78
61 changed files with 88 additions and 68 deletions

View File

@@ -2238,6 +2238,7 @@ stack_walk_adapter (MonoStackFrameInfo *frame, MonoContext *ctx, gpointer data)
case FRAME_TYPE_MANAGED_TO_NATIVE:
case FRAME_TYPE_TRAMPOLINE:
case FRAME_TYPE_INTERP_TO_MANAGED:
case FRAME_TYPE_INTERP_TO_MANAGED_WITH_CTX:
return FALSE;
case FRAME_TYPE_MANAGED:
case FRAME_TYPE_INTERP:
@@ -2283,6 +2284,7 @@ async_stack_walk_adapter (MonoStackFrameInfo *frame, MonoContext *ctx, gpointer
case FRAME_TYPE_MANAGED_TO_NATIVE:
case FRAME_TYPE_TRAMPOLINE:
case FRAME_TYPE_INTERP_TO_MANAGED:
case FRAME_TYPE_INTERP_TO_MANAGED_WITH_CTX:
return FALSE;
case FRAME_TYPE_MANAGED:
case FRAME_TYPE_INTERP:

View File

@@ -280,7 +280,6 @@ endif
wasm_sources = \
mini-wasm.c \
mini-wasm.h \
mini-wasm-debugger.c \
debugger-engine.c \
exceptions-wasm.c \
tramp-wasm.c

View File

@@ -280,7 +280,6 @@ endif
wasm_sources = \
mini-wasm.c \
mini-wasm.h \
mini-wasm-debugger.c \
debugger-engine.c \
exceptions-wasm.c \
tramp-wasm.c

View File

@@ -1 +1 @@
60c618f2bd6492fbfb171eee7cf11963ed7b5934
8a05fbf6f22cbe22fbd6226898404afe7e104140

View File

@@ -81,6 +81,12 @@ mono_arch_undo_ip_adjustment (MonoContext *context)
g_assert_not_reached ();
}
void
mono_arch_do_ip_adjustment (MonoContext *context)
{
g_assert_not_reached ();
}
#endif
#ifndef MONO_ARCH_HAVE_EXCEPTIONS_INIT

View File

@@ -1 +1 @@
5500716c656e96de6976ce309e5f40e8fbb80299
7bd26dad12e4930bcb115b47836d61819796dd2f

View File

@@ -1968,3 +1968,9 @@ mono_arch_undo_ip_adjustment (MonoContext *ctx)
{
ctx->gregs [AMD64_RIP]++;
}
void
mono_arch_do_ip_adjustment (MonoContext *ctx)
{
ctx->gregs [AMD64_RIP]--;
}

View File

@@ -639,3 +639,12 @@ mono_arch_undo_ip_adjustment (MonoContext *ctx)
if (mono_arm_thumb_supported ())
ctx->pc |= 1;
}
void
mono_arch_do_ip_adjustment (MonoContext *ctx)
{
/* Clear thumb bit */
ctx->pc &= ~1;
ctx->pc--;
}

View File

@@ -605,3 +605,9 @@ mono_arch_undo_ip_adjustment (MonoContext *ctx)
{
ctx->pc++;
}
void
mono_arch_do_ip_adjustment (MonoContext *ctx)
{
ctx->pc--;
}

View File

@@ -1 +1 @@
c474a4690a17c6ac1ba8a0bd19ac2419c68b24f7
272c87416beb6b1f2c81432b9f635d7ead8264f5

View File

@@ -1 +1 @@
a984905c86090377b0630031ad2e25a436d6b861
9aaca6b472e5626585f9d689edd52a4109db5b46

View File

@@ -146,16 +146,18 @@ struct MonoJitTlsData {
#endif
};
#define MONO_LMFEXT_DEBUGGER_INVOKE 1
#define MONO_LMFEXT_INTERP_EXIT 2
#define MONO_LMFEXT_INTERP_EXIT_WITH_CTX 3
/*
* This structure is an extension of MonoLMF and contains extra information.
*/
typedef struct {
struct MonoLMF lmf;
gboolean debugger_invoke;
gboolean interp_exit;
MonoContext ctx; /* if debugger_invoke is TRUE */
/* If interp_exit is TRUE */
gpointer interp_exit_data;
int kind;
MonoContext ctx; /* valid if kind == DEBUGGER_INVOKE || kind == INTERP_EXIT_WITH_CTX */
gpointer interp_exit_data; /* valid if kind == INTERP_EXIT || kind == INTERP_EXIT_WITH_CTX */
} MonoLMFExt;
typedef void (*MonoFtnPtrEHCallback) (guint32 gchandle);

View File

@@ -747,7 +747,7 @@ mono_wasm_current_bp_id (void)
g_assert (((guint64)lmf->previous_lmf) & 2);
MonoLMFExt *ext = (MonoLMFExt*)lmf;
g_assert (ext->interp_exit);
g_assert (ext->kind == MONO_LMFEXT_INTERP_EXIT || ext->kind == MONO_LMFEXT_INTERP_EXIT_WITH_CTX);
MonoInterpFrameHandle *frame = ext->interp_exit_data;
MonoJitInfo *ji = mini_get_interp_callbacks ()->frame_get_jit_info (frame);
guint8 *ip = mini_get_interp_callbacks ()->frame_get_ip (frame);

View File

@@ -1 +1 @@
12ebc1be2df609999cee08a4eb9f6ffb90050f17
64231b50d67cdac68b1aaee8cf93c7a07c0d1f46

View File

@@ -1 +1 @@
#define FULL_VERSION "explicit/43e7e83"
#define FULL_VERSION "explicit/ac8b05bd"

View File

@@ -122,6 +122,12 @@ typedef SSIZE_T ssize_t;
#define MONO_COLD
#endif
#ifdef __GNUC__
#define MONO_NO_OPTIMIZATION __attribute__ ((optimize("O0")))
#else
#define MONO_NO_OPTIMIZATION
#endif
#if defined (__GNUC__) && defined (__GNUC_MINOR__) && defined (__GNUC_PATCHLEVEL__)
#define MONO_GNUC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif

View File

@@ -26,7 +26,9 @@ typedef enum {
FRAME_TYPE_INTERP = 4,
/* Frame for transitioning from interpreter to managed code */
FRAME_TYPE_INTERP_TO_MANAGED = 5,
FRAME_TYPE_NUM = 6
/* same, but with MonoContext */
FRAME_TYPE_INTERP_TO_MANAGED_WITH_CTX = 6,
FRAME_TYPE_NUM = 7
} MonoStackFrameType;
typedef enum {