virtualx-engine/modules/gdscript
George Marques 2e528ef382
GDScript: Fix mishandling of stack pointers
- Replace the for loop temporaries by locals. They cause conflicts with
  the stack when being popped, while locals are properly handled in the
  scope.
- Change the interface for the codegen so the for loop list doesn't live
  through the whole block if it's a temporary.
- Keep track of the actual amount of local variables in the stack. Using
  the size of the map is misleading in cases where multiple locals have
  the same name (which is allowed when there's no shadowing).
- Added a few debug checks for temporaries, to avoid them being wrongly
  manipulated in the future. They should not live more than a line of
  code.
- Rearrange some of compiler code to make sure the temporaries don't
  live across blocks.
2020-11-25 11:24:13 -03:00
..
doc_classes Merge pull request #43423 from Calinou/doc-assert-avoid-side-effects 2020-11-10 11:31:28 +01:00
editor Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
icons Optimize SVG using svgcleaner --multipass 2020-10-25 10:02:37 +01:00
language_server Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
tests Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05:00
config.py DocData: Skip unexposed classes 2020-04-20 12:51:10 +02:00
gdscript.cpp Refactored variant constructor logic 2020-11-09 08:54:43 -03:00
gdscript.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_analyzer.cpp Variant: Rename Type::_RID to Type::RID 2020-11-09 16:29:04 +01:00
gdscript_analyzer.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_byte_codegen.cpp GDScript: Fix mishandling of stack pointers 2020-11-25 11:24:13 -03:00
gdscript_byte_codegen.h GDScript: Fix mishandling of stack pointers 2020-11-25 11:24:13 -03:00
gdscript_cache.cpp Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_cache.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_codegen.h GDScript: Fix mishandling of stack pointers 2020-11-25 11:24:13 -03:00
gdscript_compiler.cpp GDScript: Fix mishandling of stack pointers 2020-11-25 11:24:13 -03:00
gdscript_compiler.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_disassembler.cpp GDScript: Add faster instruction for validated constructor 2020-11-21 13:30:17 -03:00
gdscript_editor.cpp Fix completion for built-in load function 2020-11-10 12:00:08 +01:00
gdscript_function.cpp GDScript: Gather instructions arguments beforehand 2020-11-21 13:24:49 -03:00
gdscript_function.h GDScript: Add faster instruction for validated constructor 2020-11-21 13:30:17 -03:00
gdscript_functions.cpp Minor clamp and float fixes 2020-11-10 14:30:07 -05:00
gdscript_functions.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_parser.cpp Fix completion for built-in load function 2020-11-10 12:00:08 +01:00
gdscript_parser.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_tokenizer.cpp Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_tokenizer.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_vm.cpp GDScript: Add faster instruction for validated constructor 2020-11-21 13:30:17 -03:00
gdscript_warning.cpp Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
gdscript_warning.h Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
register_types.cpp Reorganized core/ directory, it was too fatty already 2020-11-07 20:17:12 -03:00
register_types.h Adding missing include guards to header files identified by LGTM. 2020-03-23 04:52:36 -04:00
SCsub Register GDScript test tools as test commands to run via command-line 2020-09-02 01:43:26 +03:00