summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_codegen.h
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2020-11-18 10:32:28 -0300
committerGeorge Marques <george@gmarqu.es>2020-11-21 13:24:50 -0300
commit52ab64db691e1359ae64ef0d61a8359a2c2a38be (patch)
treeb0ad6993f661a2a1dc6a671289373d042c982646 /modules/gdscript/gdscript_codegen.h
parentd8b22097f24685cd87a78a5a4fe37a3e8a21ed71 (diff)
downloadredot-engine-52ab64db691e1359ae64ef0d61a8359a2c2a38be.tar.gz
GDScript: Add faster call instructions for builtin methods
Methods from builtin types can be called by using the function pointer when the argument and base types are known at compile time.
Diffstat (limited to 'modules/gdscript/gdscript_codegen.h')
-rw-r--r--modules/gdscript/gdscript_codegen.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_codegen.h b/modules/gdscript/gdscript_codegen.h
index ff9bdb5f9e..2616a34719 100644
--- a/modules/gdscript/gdscript_codegen.h
+++ b/modules/gdscript/gdscript_codegen.h
@@ -126,6 +126,7 @@ public:
virtual void write_super_call(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;
virtual void write_call_async(const Address &p_target, const Address &p_base, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;
virtual void write_call_builtin(const Address &p_target, GDScriptFunctions::Function p_function, const Vector<Address> &p_arguments) = 0;
+ virtual void write_call_builtin_type(const Address &p_target, const Address &p_base, Variant::Type p_type, const StringName &p_method, const Vector<Address> &p_arguments) = 0;
virtual void write_call_method_bind(const Address &p_target, const Address &p_base, MethodBind *p_method, const Vector<Address> &p_arguments) = 0;
virtual void write_call_ptrcall(const Address &p_target, const Address &p_base, MethodBind *p_method, const Vector<Address> &p_arguments) = 0;
virtual void write_call_self(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;