mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Modernize atomics
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
This commit is contained in:
parent
6d89f675b1
commit
4485b43a57
54 changed files with 641 additions and 676 deletions
|
@ -1946,7 +1946,7 @@ void *Object::get_script_instance_binding(int p_script_language_index) {
|
|||
if (!_script_instance_bindings[p_script_language_index]) {
|
||||
void *script_data = ScriptServer::get_language(p_script_language_index)->alloc_instance_binding_data(this);
|
||||
if (script_data) {
|
||||
atomic_increment(&instance_binding_count);
|
||||
instance_binding_count.increment();
|
||||
_script_instance_bindings[p_script_language_index] = script_data;
|
||||
}
|
||||
}
|
||||
|
@ -1976,7 +1976,6 @@ Object::Object() {
|
|||
_can_translate = true;
|
||||
_is_queued_for_deletion = false;
|
||||
_emitting = false;
|
||||
instance_binding_count = 0;
|
||||
memset(_script_instance_bindings, 0, sizeof(void *) * MAX_SCRIPT_INSTANCE_BINDINGS);
|
||||
script_instance = NULL;
|
||||
#ifdef DEBUG_ENABLED
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue