Lines Matching defs:Layout
743 /// opcode for captured block variables layout 'instructions'.
748 /// An operator which affects how the following layout should be
788 /// processing the layout past such things.
816 // arc/mrr layout of captured block literal variables.
913 /// BuildIvarLayout - Builds ivar layout bitmap for the class
918 /// building a weak layout. Does not guarantee that the layout will
956 uint64_t InlineLayoutInstruction(SmallVectorImpl<unsigned char> &Layout);
961 /// ivar layout bitmap.
1078 /// to store the weak ivar layout and properties. The return value
2012 /// A helper class for building GC layout strings.
2016 /// The start of the layout. Offsets will be relative to this value,
2020 /// The end of the layout. Offsets will never exceed this value.
2023 /// Whether we're generating the strong layout or the weak layout.
2046 /// Add the layout of a block implementation.
2075 /*for strong layout*/ true);
2085 printf("\n block variable layout for block: ");
2146 /// block variable for the purpose of block layout meta-data generation. FQT is
2248 // Replicate layout information for each array element. Note that
2326 /// block variable layout if it can. If not, it returns 0. Rules are as follow:
2327 /// If ((uintptr_t) layout) < (1 << 12), the layout is inline. In the 64bit world,
2328 /// an inline layout of value 0x0000000000000xyz is interpreted as follows:
2335 SmallVectorImpl<unsigned char> &Layout) {
2337 if (Layout.size() <= 3) {
2338 unsigned size = Layout.size();
2344 inst = Layout[0];
2350 inst = Layout[1];
2356 inst = Layout[2];
2365 inst = Layout[0];
2369 inst = Layout[1];
2380 Layout[1];
2392 inst = Layout[0];
2442 SmallVector<unsigned char, 16> Layout;
2478 Layout.push_back(inst);
2485 Layout.push_back(inst);
2490 Layout.push_back(inst);
2494 while (!Layout.empty()) {
2495 unsigned char inst = Layout.back();
2498 Layout.pop_back();
2503 uint64_t Result = InlineLayoutInstruction(Layout);
2505 // Block variable layout instruction has been inlined.
2508 printf("\n Inline BYREF variable layout: ");
2510 printf("\n Inline block variable layout: ");
2524 Layout.push_back(inst);
2526 for (unsigned i = 0, e = Layout.size(); i != e; i++)
2527 BitMap += Layout[i];
2531 printf("\n Byref variable layout: ");
2533 printf("\n Block variable layout: ");
2592 // Calculate the basic layout of the block structure.
2593 const llvm::StructLayout *layout =
2613 CharUnits::fromQuantity(layout->getElementOffset(capture.getIndex()));
3165 /// (and actually fill in a layout string) if we really do have any
4656 /// ivar layout bitmap.
4667 // up the ordering of layout entries.
4700 /// Collect layout information for the given fields into IvarsInfo.
4715 // the limits of this layout encoding.
4724 // If we have an array, replicate the first entry's layout information.
4882 // or necessary for the ARC-style layout strings.
4905 /// BuildIvarLayout - Builds ivar layout bitmap for the class
4907 /// The layout map displays which words in ivar list must be skipped
4925 // If this is MRC, and we're either building a strong layout or there
4936 // GC layout strings include the complete object layout, possibly
4940 // ARC layout strings only include the class's ivars. In non-fragile
4945 // MRC weak layout strings follow the ARC style.
4986 printf("\n%s ivar layout for class '%s': ",