This change gets rid of the call-time method binding query, instead it queries all method bindings up-front at initialization time so that no extra cost is added at function call time. In addition, also converted the "icall" code to a header-only library so one level of unnecessary call-stack is eliminated. Also changed binding generator to use real_t instead of double everywhere (except at the GDNative interface where unfortunately using doubles is hard-coded on the engine side). All this comes at a minimal increase in binary size (for the library, as actual native modules might not even increase in size in practice).
25 KiB
25 KiB