summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_disassembler.cpp
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-08-01 17:25:52 +0200
committerYuri Sizov <yuris@humnom.net>2023-08-01 17:25:52 +0200
commitf6e02dc437fa69915433f097351d11f815f3da48 (patch)
tree34df8f5a0f1fff1fde84405e5f21b9d0c12595e8 /modules/gdscript/gdscript_disassembler.cpp
parentf4b6bc0913ce7b27c325980857a4cdb3871a23c2 (diff)
parentc1bca65d09b78dafafc496dcf47782e30887cf6e (diff)
downloadredot-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.cpp3
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 ";