Skip to content

Commit 5331eab

Browse files
committed
Reduce handle usage in mini_init_delegate ().
1 parent 4a4ae0a commit 5331eab

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/mono/mono/mini/mini-runtime.c

+5-7
Original file line numberDiff line numberDiff line change
@@ -3883,7 +3883,7 @@ mini_init_delegate (MonoDelegateHandle delegate, MonoObjectHandle target, gpoint
38833883
if (!method && !addr) {
38843884
// Multicast delegate init
38853885
if (!mono_llvm_only) {
3886-
MONO_HANDLE_SETVAL (delegate, invoke_impl, gpointer, mono_create_delegate_trampoline (mono_handle_class (delegate)));
3886+
del->invoke_impl = mono_create_delegate_trampoline (mono_handle_class (delegate));
38873887
} else {
38883888
mini_llvmonly_init_delegate (del, NULL);
38893889
}
@@ -3908,13 +3908,11 @@ mini_init_delegate (MonoDelegateHandle delegate, MonoObjectHandle target, gpoint
39083908
}
39093909

39103910
if (method)
3911-
MONO_HANDLE_SETVAL (delegate, method, MonoMethod*, method);
3912-
3911+
del->method = method;
39133912
if (addr)
3914-
MONO_HANDLE_SETVAL (delegate, method_ptr, gpointer, addr);
3915-
3916-
MONO_HANDLE_SET (delegate, target, target);
3917-
MONO_HANDLE_SETVAL (delegate, invoke_impl, gpointer, mono_create_delegate_trampoline (mono_handle_class (delegate)));
3913+
del->method_ptr = addr;
3914+
MONO_OBJECT_SETREF_INTERNAL (del, target, MONO_HANDLE_RAW (target));
3915+
del->invoke_impl = mono_create_delegate_trampoline (mono_handle_class (delegate));
39183916

39193917
MonoDelegateTrampInfo *info = NULL;
39203918

0 commit comments

Comments
 (0)