+Jaroslav Sevcik <[email protected]> +Michael Stanton <[email protected]> +Benedikt Meurer <[email protected]>
On Tue, Jan 15, 2019 at 9:42 PM Anton Bikineev <[email protected]> wrote: > Hi folks, > > I'm curious about the implementation of the use-def/def-use chains in the > TurboFan basic data structures used for IR representations. > I was wondering if you could point me to the ideas behind the > implementation: > > - Why is there a need to keep used Nodes out of their Use objects? In > other words, why doesn't a Use object have a direct pointer to the > corresponding to-Node (i.e., input Node), but the input node is kept > at an offset which is in turn dependent on whether the inputs are stored > out of line or not? This way we would seem to achieve slightly better > locality when recursively visiting uses; > - If Use objects impose high pressure on memory, would it be > reasonable to not keep the offset to the user in a Use object, but > instead employ the "waymarking" algorithm > <http://llvm.org/docs/ProgrammersManual.html#the-waymarking-algorithm> > (the one that is used in LLVM)? The algorithm relies on the alignment of > Use objects and basically encodes offsets/flags in least significant > bits of pointers in the array of Use objects for a specific user. It > would seem to save ~33% of space (on x86_64) for Use objects, slightly > sacrificing time to access the user. Given that there may be a huge number > of Use objects, it might be a reasonable alternative. > > If the algorithm is sensible for V8, I'll be happy to implement it. > > Thanks. > > -- > -- > 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]. > For more options, visit https://groups.google.com/d/optout. > -- -- 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]. For more options, visit https://groups.google.com/d/optout.
