### Godot version

4.0 beta17

### System information

Windows10

### Issue description

call `"".split()`
Is there an infinite loop inside? Function does not return.

### Steps to reproduce

"".split()

### Minimal reproduction project

N/A
uint32_t hashv = 5381;
	for (int i = 0; i < p_len; i++) {
		hashv = ((hashv << 5) + hashv) + p_cstr[i]; 
	}
	return hashv;
}
uint32_t String::hash(const char32_t *p_cstr) {
	uint32_t hashv = 5381;
	uint32_t c = *p_cstr++;
	while (c) {
		hashv = ((hashv << 5) + hashv) + c; 
		c = *p_cstr++;
	}
	return hashv;
}
uint32_t String::hash() const {
	
	const char32_t *chr = get_data();
	uint32_t hashv = 5381;
	uint32_t c = *chr++;
	while (c) {
		hashv = ((hashv << 5) + hashv) + c; 
		c = *chr++;
	}
	return hashv;
}
uint64_t String::hash64() const {