mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 23:31:53 -05:00
Merge commit godotengine/godot@61accf0605
This commit is contained in:
@@ -399,32 +399,36 @@ void (*type_init_function_table[])(Variant *) = {
|
||||
#define OPCODES_OUT \
|
||||
OPSOUT:
|
||||
#define OPCODE_SWITCH(m_test) goto *switch_table_ops[m_test];
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
#define DISPATCH_OPCODE \
|
||||
last_opcode = _code_ptr[ip]; \
|
||||
goto *switch_table_ops[last_opcode]
|
||||
#else
|
||||
#else // !DEBUG_ENABLED
|
||||
#define DISPATCH_OPCODE goto *switch_table_ops[_code_ptr[ip]]
|
||||
#endif
|
||||
#endif // DEBUG_ENABLED
|
||||
|
||||
#define OPCODE_BREAK goto OPSEXIT
|
||||
#define OPCODE_OUT goto OPSOUT
|
||||
#else
|
||||
#else // !(defined(__GNUC__) || defined(__clang__))
|
||||
#define OPCODES_TABLE
|
||||
#define OPCODE(m_op) case m_op:
|
||||
#define OPCODE_WHILE(m_test) while (m_test)
|
||||
#define OPCODES_END
|
||||
#define OPCODES_OUT
|
||||
#define DISPATCH_OPCODE continue
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define OPCODE_SWITCH(m_test) \
|
||||
__assume(m_test <= OPCODE_END); \
|
||||
switch (m_test)
|
||||
#else
|
||||
#else // !_MSC_VER
|
||||
#define OPCODE_SWITCH(m_test) switch (m_test)
|
||||
#endif
|
||||
#endif // _MSC_VER
|
||||
|
||||
#define OPCODE_BREAK break
|
||||
#define OPCODE_OUT break
|
||||
#endif
|
||||
#endif // defined(__GNUC__) || defined(__clang__)
|
||||
|
||||
// Helpers for VariantInternal methods in macros.
|
||||
#define OP_GET_BOOL get_bool
|
||||
@@ -665,7 +669,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
OPCODE_BREAK; \
|
||||
}
|
||||
|
||||
#else
|
||||
#else // !DEBUG_ENABLED
|
||||
#define GD_ERR_BREAK(m_cond)
|
||||
#define CHECK_SPACE(m_space)
|
||||
|
||||
@@ -678,7 +682,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
OPCODE_BREAK; \
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // DEBUG_ENABLED
|
||||
|
||||
#define LOAD_INSTRUCTION_ARGS \
|
||||
int instr_arg_count = _code_ptr[ip + 1]; \
|
||||
@@ -1967,7 +1971,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
err_text = _get_call_error("function '" + methodstr + (is_callable ? "" : "' in base '" + basestr) + "'", (const Variant **)argptrs, temp_ret, err);
|
||||
OPCODE_BREAK;
|
||||
}
|
||||
#endif
|
||||
#endif // DEBUG_ENABLED
|
||||
|
||||
ip += 3;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user