diff options
author | Bernhard Urban <bernhard.urban@xamarin.com> | 2017-02-27 19:55:54 +0300 |
---|---|---|
committer | Bernhard Urban <bernhard.urban@xamarin.com> | 2017-03-01 00:59:28 +0300 |
commit | e6de93e0c37db23c14d0d8321f5833426728cad1 (patch) | |
tree | 6f83352cacc27a092de9617300c3fed9b94d2c28 | |
parent | 8946cb628f7db95480df5cc56e361546fee01561 (diff) |
[interpreter] fix array built-ins wrt. multiarray access
-rw-r--r-- | mono/mini/interpreter/interp.c | 6 | ||||
-rw-r--r-- | mono/mini/objects.cs | 3 |
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; |