I think that this is great!

I agree with the policy that we should use JSValue everywhere that it would 
give us the same codegen/ABI (args in registers, return in registers, etc). 

-Filip

> On Jan 3, 2017, at 14:33, Mark Lam <mark....@apple.com> wrote:
> 
> 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
> 
> Perf is neutral.  Any opinions?
> 
> Thanks.
> 
> Mark
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to