diff options
author | Yuri Sizov <yuris@humnom.net> | 2023-08-01 17:25:52 +0200 |
---|---|---|
committer | Yuri Sizov <yuris@humnom.net> | 2023-08-01 17:25:52 +0200 |
commit | f6e02dc437fa69915433f097351d11f815f3da48 (patch) | |
tree | 34df8f5a0f1fff1fde84405e5f21b9d0c12595e8 /modules/gdscript/gdscript_disassembler.cpp | |
parent | f4b6bc0913ce7b27c325980857a4cdb3871a23c2 (diff) | |
parent | c1bca65d09b78dafafc496dcf47782e30887cf6e (diff) | |
download | redot-engine-f6e02dc437fa69915433f097351d11f815f3da48.tar.gz |
Merge pull request #79990 from vnen/gdscript-assume-op-types
GDScript: Optimize operators by assuming the types
Diffstat (limited to 'modules/gdscript/gdscript_disassembler.cpp')
-rw-r--r-- | modules/gdscript/gdscript_disassembler.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/gdscript/gdscript_disassembler.cpp b/modules/gdscript/gdscript_disassembler.cpp index ec1d0af329..438ec02740 100644 --- a/modules/gdscript/gdscript_disassembler.cpp +++ b/modules/gdscript/gdscript_disassembler.cpp @@ -113,6 +113,7 @@ void GDScriptFunction::disassemble(const Vector<String> &p_code_lines) const { switch (opcode) { case OPCODE_OPERATOR: { + constexpr int _pointer_size = sizeof(Variant::ValidatedOperatorEvaluator) / sizeof(*_code_ptr); int operation = _code_ptr[ip + 4]; text += "operator "; @@ -125,7 +126,7 @@ void GDScriptFunction::disassemble(const Vector<String> &p_code_lines) const { text += " "; text += DADDR(2); - incr += 5; + incr += 7 + _pointer_size; } break; case OPCODE_OPERATOR_VALIDATED: { text += "validated operator "; |