Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Urban <bernhard.urban@xamarin.com>2017-02-27 19:55:54 +0300
committerBernhard Urban <bernhard.urban@xamarin.com>2017-03-01 00:59:28 +0300
commite6de93e0c37db23c14d0d8321f5833426728cad1 (patch)
tree6f83352cacc27a092de9617300c3fed9b94d2c28
parent8946cb628f7db95480df5cc56e361546fee01561 (diff)
[interpreter] fix array built-ins wrt. multiarray access
-rw-r--r--mono/mini/interpreter/interp.c6
-rw-r--r--mono/mini/objects.cs3
2 files changed, 3 insertions, 6 deletions
diff --git a/mono/mini/interpreter/interp.c b/mono/mini/interpreter/interp.c
index b1fe4c1584d..6693cbd6d31 100644
--- a/mono/mini/interpreter/interp.c
+++ b/mono/mini/interpreter/interp.c
@@ -553,7 +553,7 @@ ves_array_create (MonoDomain *domain, MonoClass *klass, MonoMethodSignature *sig
static void
ves_array_set (MonoInvocation *frame)
{
- stackval *sp = frame->stack_args;
+ stackval *sp = frame->stack_args + 1;
MonoObject *o;
MonoArray *ao;
MonoClass *ac;
@@ -607,7 +607,7 @@ ves_array_set (MonoInvocation *frame)
static void
ves_array_get (MonoInvocation *frame)
{
- stackval *sp = frame->stack_args;
+ stackval *sp = frame->stack_args + 1;
MonoObject *o;
MonoArray *ao;
MonoClass *ac;
@@ -651,7 +651,7 @@ ves_array_get (MonoInvocation *frame)
static void
ves_array_element_address (MonoInvocation *frame)
{
- stackval *sp = frame->stack_args;
+ stackval *sp = frame->stack_args + 1;
MonoObject *o;
MonoArray *ao;
MonoClass *ac;
diff --git a/mono/mini/objects.cs b/mono/mini/objects.cs
index 19219a45608..55e998d4e4d 100644
--- a/mono/mini/objects.cs
+++ b/mono/mini/objects.cs
@@ -623,7 +623,6 @@ class Tests {
return 0;
}
- [Category ("!INTERPRETER")]
public static int test_0_multi_array_cast () {
Duper[,] d = new Duper [1, 1];
object[,] o = d;
@@ -919,7 +918,6 @@ class Tests {
return f ();
}
- [Category ("!INTERPRETER")]
public static int test_1_store_decimal () {
decimal[,] a = {{1}};
@@ -1438,7 +1436,6 @@ ncells ) {
return 0;
}
- [Category ("!INTERPRETER")]
static int test_0_array_get_set_soft_float () {
float[,] arr = new float [2, 2];
arr [0, 0] = 256f;