diff options
| author | Rémi Verschelde | 2017-09-25 23:25:42 +0200 |
|---|---|---|
| committer | GitHub | 2017-09-25 23:25:42 +0200 |
| commit | c79fc6716e0ccfec5f05e1ae1f5e90d79e6689d2 (patch) | |
| tree | c7cfa68d6466b13e63f579e1d4c99a0e3472d80a /core/variant_op.cpp | |
| parent | 938681724f80ef6ae5c1e0bc64b479bae7fdda5c (diff) | |
| parent | 758accdcc2a780a52fbd78def451243d73ba59e6 (diff) | |
| download | godot-c79fc6716e0ccfec5f05e1ae1f5e90d79e6689d2.tar.gz godot-c79fc6716e0ccfec5f05e1ae1f5e90d79e6689d2.tar.zst godot-c79fc6716e0ccfec5f05e1ae1f5e90d79e6689d2.zip | |
Merge pull request #11518 from hpvb/gdscript-direct-dispatch
Some more GDScript performance optimizations
Diffstat (limited to '')
| -rw-r--r-- | core/variant_op.cpp | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/core/variant_op.cpp b/core/variant_op.cpp index 4065b6a84..03ec33629 100644 --- a/core/variant_op.cpp +++ b/core/variant_op.cpp @@ -100,32 +100,32 @@ } /* clang-format on */ -#define CASES(PREFIX) static void *switch_table_##PREFIX[25][27] = { \ - TYPES(PREFIX, OP_EQUAL), \ - TYPES(PREFIX, OP_NOT_EQUAL), \ - TYPES(PREFIX, OP_LESS), \ - TYPES(PREFIX, OP_LESS_EQUAL), \ - TYPES(PREFIX, OP_GREATER), \ - TYPES(PREFIX, OP_GREATER_EQUAL), \ - TYPES(PREFIX, OP_ADD), \ - TYPES(PREFIX, OP_SUBTRACT), \ - TYPES(PREFIX, OP_MULTIPLY), \ - TYPES(PREFIX, OP_DIVIDE), \ - TYPES(PREFIX, OP_NEGATE), \ - TYPES(PREFIX, OP_POSITIVE), \ - TYPES(PREFIX, OP_MODULE), \ - TYPES(PREFIX, OP_STRING_CONCAT), \ - TYPES(PREFIX, OP_SHIFT_LEFT), \ - TYPES(PREFIX, OP_SHIFT_RIGHT), \ - TYPES(PREFIX, OP_BIT_AND), \ - TYPES(PREFIX, OP_BIT_OR), \ - TYPES(PREFIX, OP_BIT_XOR), \ - TYPES(PREFIX, OP_BIT_NEGATE), \ - TYPES(PREFIX, OP_AND), \ - TYPES(PREFIX, OP_OR), \ - TYPES(PREFIX, OP_XOR), \ - TYPES(PREFIX, OP_NOT), \ - TYPES(PREFIX, OP_IN), \ +#define CASES(PREFIX) static const void *switch_table_##PREFIX[25][27] = { \ + TYPES(PREFIX, OP_EQUAL), \ + TYPES(PREFIX, OP_NOT_EQUAL), \ + TYPES(PREFIX, OP_LESS), \ + TYPES(PREFIX, OP_LESS_EQUAL), \ + TYPES(PREFIX, OP_GREATER), \ + TYPES(PREFIX, OP_GREATER_EQUAL), \ + TYPES(PREFIX, OP_ADD), \ + TYPES(PREFIX, OP_SUBTRACT), \ + TYPES(PREFIX, OP_MULTIPLY), \ + TYPES(PREFIX, OP_DIVIDE), \ + TYPES(PREFIX, OP_NEGATE), \ + TYPES(PREFIX, OP_POSITIVE), \ + TYPES(PREFIX, OP_MODULE), \ + TYPES(PREFIX, OP_STRING_CONCAT), \ + TYPES(PREFIX, OP_SHIFT_LEFT), \ + TYPES(PREFIX, OP_SHIFT_RIGHT), \ + TYPES(PREFIX, OP_BIT_AND), \ + TYPES(PREFIX, OP_BIT_OR), \ + TYPES(PREFIX, OP_BIT_XOR), \ + TYPES(PREFIX, OP_BIT_NEGATE), \ + TYPES(PREFIX, OP_AND), \ + TYPES(PREFIX, OP_OR), \ + TYPES(PREFIX, OP_XOR), \ + TYPES(PREFIX, OP_NOT), \ + TYPES(PREFIX, OP_IN), \ } #define SWITCH(PREFIX, op, val) goto *switch_table_##PREFIX[op][val]; |
