We are actively investigating/working on adding V8 Fast API support for 
Cloudflare Workers. While looking at the v8-fast-api-calls.h file 
(ref: https://github.com/v8/v8/blob/main/include/v8-fast-api-calls.h) , I 
realized that some of the documentation referencing the limitations are not 
correct and up to date.

I'm more than happy to update the header file to reflect the current state 
of the implementation, but first,  I'd like to ask couple of questions to 
understand the implementation better. 

- Is V8 Fast API considered unstable?
- Since V8 fast api can now allocate, trigger JS and GC, which limitations 
still apply? Looking at line 24, I believe these comments are not valid.
- What is the heuristics of CFunction overloads? In an example where a 
function has a required and an optional parameter, is it sufficient to add 
2 functions,  method(a) and method(a, b)? What is the behavior if the user 
calls this method with 3 arguments? Would it trigger method(a,b)? Is the 
order MemorySpan CFunctions make a difference? Since v8::Local<Value> is 
supported, it seems we can get away with a CFunction that has a second 
parameter of v8::Local<Value> for the optional parameter.
- Since v8 fast api supports v8::Local<v8::Value> now, is there any 
particular reason for using FastOneByteString over v8 local value for one 
byte strings?
- By looking at the documentation, the only limitations I could think of 
are the ones related to the return type of CFunction, which doesn't allow 
returning objects/values/strings. What are the actual limitations of V8 
fast api?

Thank you for your help.

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/v8-dev/08d9e03f-9db2-47c9-98ce-72c464c72475n%40googlegroups.com.

Reply via email to