aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-02 03:46:57 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-02 03:46:57 -0700
commit15466865e07b623dceeb51f54aa6b47eb4881b43 (patch)
treebecff0515750264a6c560a65519ba9bf913be726
parent125a4c747b24fde0cc7f19d23c5f6b7c78244329 (diff)
downloadbun-15466865e07b623dceeb51f54aa6b47eb4881b43.tar.gz
bun-15466865e07b623dceeb51f54aa6b47eb4881b43.tar.zst
bun-15466865e07b623dceeb51f54aa6b47eb4881b43.zip
add a comment
-rw-r--r--src/javascript/jsc/bindings/JSFFIFunction.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/javascript/jsc/bindings/JSFFIFunction.h b/src/javascript/jsc/bindings/JSFFIFunction.h
index 1037785eb..8f65bf632 100644
--- a/src/javascript/jsc/bindings/JSFFIFunction.h
+++ b/src/javascript/jsc/bindings/JSFFIFunction.h
@@ -23,6 +23,19 @@ using namespace JSC;
using FFIFunction = JSC::EncodedJSValue (*)(JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame);
+/**
+ * Call a C function with low overhead, modeled after JSC::JSNativeStdFunction
+ *
+ * The C function is expected to know how to get the arguments out of the JSC::CallFrame and
+ * return a JSC::EncodedJSValue. To do that, the argumentOffset is inlined at compile-time
+ * into Bun's binary and again inlined into the C function.
+ *
+ * This is used by functions compiled with TinyCC
+ *
+ * It was about 20% faster than using the JavaScriptCore C API for functions with 1 argument
+ *
+ * Note: there is no wrapper function here
+ */
class JSFFIFunction final : public JSC::JSFunction {
public:
using Base = JSFunction;
9df&follow=1'>First example builds againGravatar Emil Fresk 5-32/+20 2023-03-01Even more cleanupGravatar Emil Fresk 6-123/+7 2023-03-01Fix fencesGravatar Emil Fresk 2-8/+7 2023-03-01Added software task codegen backGravatar Emil Fresk 2-1/+111 2023-03-01Min codegenGravatar Emil Fresk 22-1695/+130 2023-03-01syntax: Remove parse settings structGravatar Emil Fresk 13-86/+22 2023-03-01Add check againGravatar Emil Fresk 3-23/+13 2023-03-01Old xtask test passGravatar Emil Fresk 64-315/+1417 2023-03-01RTIC v2: Initial commitGravatar Emil Fresk 167-605/+5222 2023-02-26Release: v1.1.4Gravatar Henrik Tjäder 3-5/+14 2023-02-26example: pool: Do not print the addrGravatar Henrik Tjäder 2-10/+4 2023-01-25Mostly editorial review.Gravatar John van der Koijk 13-53/+81 2023-01-22Handle more cfgs, support cfg on HW/SW tasksGravatar Henrik Tjäder 8-6/+39 2023-01-22Update changelogGravatar Henrik Tjäder 1-0/+1