### Godot version

4.0.beta.11

### System information

windos10

### Issue description

Just touch 'godot' and make a demo while learning.
After `beta. 11` was released, I tested my Demo on the new version, and it flashed back frequently without any sign. I searched for a long time and didn't find the reason.




### Steps to reproduce

This code runs normally from `beta.5` to `beta.10`, and flashes back frequently and irregularly on `beta.11`.

## beta.11
![1](https://user-images.githubusercontent.com/78600221/211737226-5eafb3fc-8982-4562-acd7-2d769e065039.gif)

## beta.10
![22](https://user-images.githubusercontent.com/78600221/211738095-ec303429-abd9-4fc0-99b9-21347d69cd03.gif)




### Minimal reproduction project



append_opcode_and_argcount(p_target.mode == Address::NIL ? GDScriptFunction::OPCODE_CALL_METHOD_BIND : GDScriptFunction::OPCODE_CALL_METHOD_BIND_RET, 2 + p_arguments.size());
	for (int i = 0; i < p_arguments.size(); i++) {
		append(p_arguments[i]);
	}
	append(p_base);
	append(get_call_target(p_target));
	append(p_arguments.size());
	append(p_method);
}
void GDScriptByteCodeGenerator::write_call_ptrcall(const Address &p_target, const Address &p_base, MethodBind *p_method, const Vector<Address> &p_arguments) {
#define CASE_TYPE(m_type)                                                                                   \
	case Variant::m_type:                                                                                   \
		append_opcode_and_argcount(GDScriptFunction::OPCODE_CALL_PTRCALL_##m_type, 2 + p_arguments.size()); \
		break
	bool is_ptrcall = true;
	if (p_method->has_return()) {
		MethodInfo info;
		ClassDB::get_method_info(p_method->get_instance_class(), p_method->get_name(), &info);
		switch (info.return_val.type) {
			CASE_TYPE(BOOL);
			CASE_TYPE(INT);
			CASE_TYPE(FLOAT);
			CASE_TYPE(STRING);
			CASE_TYPE(VECTOR2);