Reflect.set fast path through keyed store assembler

11 views
Skip to first unread message

Gus Caplan

unread,
Apr 9, 2020, 10:21:41 PM4/9/20
to v8-dev
While rewriting Reflect.set in torque it occurred to me that if the receiver argument is not passed or equals the target argument, we should be able to skip the whole SetPropertyWithReceiver dance. This led me into the rabbit hole that is the KeyedStoreGenericAssember and AccessorAssembler. I'm curious if anyone has considered whether changing all these various assembler functions to return bool instead of the value being set would be worthwhile for this optimization.

Toon Verwaest

unread,
Apr 14, 2020, 11:53:03 AM4/14/20
to v8-...@googlegroups.com
Although I'm not too much aware of the state in CSA/TQ related to this, what you suggest would be in line with how we changed all the runtime code as well when Reflect.set came around. We used to return the stored value there as well.

On Fri, Apr 10, 2020 at 4:21 AM Gus Caplan <fluffyro...@gmail.com> wrote:
While rewriting Reflect.set in torque it occurred to me that if the receiver argument is not passed or equals the target argument, we should be able to skip the whole SetPropertyWithReceiver dance. This led me into the rabbit hole that is the KeyedStoreGenericAssember and AccessorAssembler. I'm curious if anyone has considered whether changing all these various assembler functions to return bool instead of the value being set would be worthwhile for this optimization.

--
--
v8-dev mailing list
v8-...@googlegroups.com
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 v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/7008b278-6bc6-4a67-8214-bd8ea328dda7%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages