@@ -87,7 +87,6 @@ void TransferContext::icall(JNIEnv* rawEnv, jobject instance, jlong j_ptr, jlong
87
87
88
88
Callable::CallError r_error {Callable::CallError::CALL_OK};
89
89
90
- Variant ret_value;
91
90
if (unlikely (stack_offset + args_size > MAX_STACK_SIZE)) {
92
91
Variant args[MAX_FUNCTION_ARG_COUNT];
93
92
read_args_to_array (buffer, args, args_size);
@@ -97,7 +96,7 @@ void TransferContext::icall(JNIEnv* rawEnv, jobject instance, jlong j_ptr, jlong
97
96
args_ptr[i] = &args[i];
98
97
}
99
98
100
- method_bind->validated_call (ptr, args_ptr, &ret_value) ;
99
+ const Variant& ret_value { method_bind->call (ptr, args_ptr, args_size, r_error)} ;
101
100
buffer->rewind ();
102
101
103
102
VariantToBuffer::write_variant (ret_value, buffer);
@@ -108,7 +107,7 @@ void TransferContext::icall(JNIEnv* rawEnv, jobject instance, jlong j_ptr, jlong
108
107
const Variant** args_ptr {variant_args_ptr + stack_offset};
109
108
110
109
stack_offset += args_size;
111
- method_bind->validated_call (ptr, args_ptr, &ret_value) ;
110
+ const Variant& ret_value { method_bind->call (ptr, args_ptr, args_size, r_error)} ;
112
111
// Remove Variants so memory can be freed immediately after method call.
113
112
for (uint32_t i = 0 ; i < args_size; i++) {
114
113
args[i] = Variant ();
0 commit comments