Over the holiday period, I looked into the possibility of giving EncodedJSValue
a default constructor (because I didn’t like having to return encodedJSValue()
instead of { } in lots of places), and learned why we had EncodedJSValue in the
first place (i.e. for C linkage). This led me to discover (in my reading of
the code) that we don’t really need to use EncodedJSValue for most of our host
functions (those of type NativeFunction, GetValueFunc, and PutValueFunc).
I propose that we switch to using JSValue directly where we can. This has the
benefit of:
1. better type safety with the use of JSValue (EncodedJSValue is a int64_t
typedef).
2. more readable code (less marshaling back and forth with
JSValue::encode()/decode()).
The patch for this change can be found here:
https://bugs.webkit.org/show_bug.cgi?id=166658
<https://bugs.webkit.org/show_bug.cgi?id=166658>
Perf is neutral. Any opinions?
Thanks.
Mark
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev