### 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



virtual uint32_t add_local_constant(const StringName &p_name, const Variant &p_constant) override;
	virtual uint32_t add_or_get_constant(const Variant &p_constant) override;
	virtual uint32_t add_or_get_name(const StringName &p_name) override;
	virtual uint32_t add_temporary(const GDScriptDataType &p_type) override;
	virtual void pop_temporary() override;
	virtual void start_parameters() override;
	virtual void end_parameters() override;
	virtual void start_block() override;
	virtual void end_block() override;
	virtual void write_start(GDScript *p_script, const StringName &p_function_name, bool p_static, Variant p_rpc_config, const GDScriptDataType &p_return_type) override;
	virtual GDScriptFunction *write_end() override;
#ifdef DEBUG_ENABLED
	virtual void set_signature(const String &p_signature) override;
#endif
	virtual void set_initial_line(int p_line) override;
	virtual void write_type_adjust(const Address &p_target, Variant::Type p_new_type) override;
	virtual void write_unary_operator(const Address &p_target, Variant::Operator p_operator, const Address &p_left_operand) override;
	virtual void write_binary_operator(const Address &p_target, Variant::Operator p_operator, const Address &p_left_operand, const Address &p_right_operand) override;
	virtual void write_type_test(const Address &p_target, const Address &p_source, const Address &p_type) override;
	virtual void write_type_test_builtin(const Address &p_target, const Address &p_source, Variant::Type p_type) override;
	virtual void write_and_left_operand(const Address &p_left_operand) override;
	virtual void write_and_right_operand(const Address &p_right_operand) override;
	virtual void write_end_and(const Address &p_target) override;
	virtual void write_or_left_operand(const Address &p_left_operand) override;
	virtual void write_or_right_operand(const Address &p_right_operand) override;
	virtual void write_end_or(const Address &p_target) override;
	virtual void write_start_ternary(const Address &p_target) override;
	virtual void write_ternary_condition(const Address &p_condition) override;
	virtual void write_ternary_true_expr(const Address &p_expr) override;
	virtual void write_ternary_false_expr(const Address &p_expr) override;