Skip to content

Commit 3c5daad

Browse files
authored
Avoid doing extra work (#114517)
1 parent 20b579b commit 3c5daad

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/mono/mono/mini/interp/transform-simd.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,9 @@ emit_vector_create (TransformData *td, MonoMethodSignature *csignature, MonoClas
508508
static gboolean
509509
emit_sri_vector128 (TransformData *td, MonoMethod *cmethod, MonoMethodSignature *csignature)
510510
{
511+
if (csignature->hasthis)
512+
return FALSE;
513+
511514
#ifdef HOST_BROWSER
512515
if (emit_sri_packedsimd (td, cmethod, csignature))
513516
return TRUE;
@@ -1078,6 +1081,9 @@ lookup_packedsimd_intrinsic (const char *name, MonoType *arg1)
10781081
static gboolean
10791082
emit_sri_packedsimd (TransformData *td, MonoMethod *cmethod, MonoMethodSignature *csignature)
10801083
{
1084+
if (csignature->hasthis)
1085+
return FALSE;
1086+
10811087
const char *cmethod_name = cmethod->name;
10821088
int id = lookup_intrins (sri_packedsimd_methods, sizeof (sri_packedsimd_methods), cmethod_name);
10831089
MonoClass *vector_klass;
@@ -1124,9 +1130,7 @@ emit_sri_packedsimd (TransformData *td, MonoMethod *cmethod, MonoMethodSignature
11241130
if (!is_packedsimd) {
11251131
// transform the method name from the Vector(128|) name to the packed simd name
11261132
// FIXME: This is a hack, but it works for now.
1127-
if (csignature->hasthis) {
1128-
return FALSE;
1129-
}
1133+
11301134
int scalar_arg = -1;
11311135
for (int i = 0; i < csignature->param_count; i++) {
11321136
if (csignature->params [i]->type != MONO_TYPE_GENERICINST)

0 commit comments

Comments
 (0)