Fix support for MONO_PATCH_INFO_GSHAREDVT_CALL in mono_patch_info_dup_mp ().
authorZoltan Varga <vargaz@gmail.com>
Tue, 12 Feb 2013 05:38:17 +0000 (06:38 +0100)
committerZoltan Varga <vargaz@gmail.com>
Tue, 12 Feb 2013 05:38:17 +0000 (06:38 +0100)
mono/mini/mini.c

index 6d178d2aa4ce5fb8a8228276400260681e4bafe8..01576ad569872f7facbd768c0d41c8a9fc608479 100644 (file)
@@ -2922,6 +2922,10 @@ mono_patch_info_dup_mp (MonoMemPool *mp, MonoJumpInfo *patch_info)
                memcpy (res->data.rgctx_entry, patch_info->data.rgctx_entry, sizeof (MonoJumpInfoRgctxEntry));
                res->data.rgctx_entry->data = mono_patch_info_dup_mp (mp, res->data.rgctx_entry->data);
                break;
+       case MONO_PATCH_INFO_GSHAREDVT_CALL:
+               res->data.gsharedvt = mono_mempool_alloc (mp, sizeof (MonoJumpInfoGSharedVtCall));
+               memcpy (res->data.gsharedvt, patch_info->data.gsharedvt, sizeof (MonoJumpInfoGSharedVtCall));
+               break;
        default:
                break;
        }
@@ -2958,6 +2962,8 @@ mono_patch_info_hash (gconstpointer data)
        case MONO_PATCH_INFO_SFLDA:
        case MONO_PATCH_INFO_SEQ_POINT_INFO:
                return (ji->type << 8) | (gssize)ji->data.target;
+       case MONO_PATCH_INFO_GSHAREDVT_CALL:
+               return (ji->type << 8) | (gssize)ji->data.gsharedvt->method;
        default:
                return (ji->type << 8);
        }