search for: nodeindex

Displaying 6 results from an estimated 6 matches for "nodeindex".

2017 Jul 31
3
[RFC] Profile guided section layout
Hi Rafael, On 07/31/2017 04:20 PM, Rafael Avila de Espindola via llvm-dev wrote: > However, do we need to start with instrumentation? The original paper > uses sampling with good results and current intel cpus can record every > branch in a program. > > I would propose starting with just an lld patch that reads the call > graph from a file. The format would be very similar to
2017 Jul 31
2
[RFC] Profile guided section layout
...eate a cluster larger +// than the page size. All clusters are then sorted by a density metric to +// further improve locality. +template <class ELFT> +static void sortByCFGProfile(ArrayRef<OutputSection *> OutputSections) { + if (Config->NoCFGProfileReorder) + return; + + using NodeIndex = std::ptrdiff_t; + + struct Node { + Node() {} + Node(const InputSectionBase *IS) { + Sections.push_back(IS); + Size = IS->getSize(); + } + std::vector<const InputSectionBase *> Sections; + int64_t Size = 0; + uint64_t Weight = 0; + }; + + struct Edge { +...
2017 Jun 15
7
[RFC] Profile guided section layout
...eate a cluster larger +// than the page size. All clusters are then sorted by a density metric to +// further improve locality. +template <class ELFT> +static void sortByCFGProfile(ArrayRef<OutputSection *> OutputSections) { + if (Config->NoCFGProfileReorder) + return; + + using NodeIndex = std::ptrdiff_t; + + struct Node { + Node() {} + Node(const InputSectionBase *IS) { + Sections.push_back(IS); + Size = IS->getSize(); + } + std::vector<const InputSectionBase *> Sections; + int64_t Size = 0; + uint64_t Weight = 0; + }; + + struct Edge { +...
2017 Aug 01
2
[RFC] Profile guided section layout
...sed on the profile data then iteratively +// merges the hottest call edges as long as it would not create a cluster larger +// than the page size. All clusters are then sorted by a density metric to +// further improve locality. +template <class ELFT> static void sortByCFGProfile() { + using NodeIndex = std::ptrdiff_t; + + struct Node { + Node() {} + Node(const InputSectionBase *IS) { + Sections.push_back(IS); + Size = IS->getSize(); + } + std::vector<const InputSectionBase *> Sections; + int64_t Size = 0; + uint64_t Weight = 0; + }; + + struct Edge { +...
2009 Jul 07
0
[PATCH server] Update app to work with rails 2.3.2
...true; + parentNode._countedByPrototype = Prototype.emptyFunction; if (reverse) { for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { var node = nodes[i]; - if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++; } } else { for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) - if (node.nodeType == 1 && (!ofType || node._counted)) n...
2009 Jul 20
9
Upgrade server to run on Rails 2.3.2/F11
Note that one of the 8 patches (#6) will be sent separately in reply to this email, as some of the replaced lines are too long, so git won't let me send the email. However, there is nothing wrong with that patch, and it should be applied in the sequence listed below. Note also that I assume this will be tested on a clean f11 install, rather than an upgrade of an existing ovirt server