Lines Matching full:stack
12 // generated is not quite as efficient as algorithms which generate stack maps
22 // In order to support this particular transformation, all stack roots are
23 // coallocated in the stack. This allows a fully target-independent stack map
46 /// StackEntryTy - Abstract type of a link in the shadow stack.
77 X("shadow-stack", "Very portable GC for uncooperative code generators");
272 // int32_t NumRoots; // Number of roots in stack frame.
277 // 32 bits is ok up to a 32GB stack frame. :)
285 // ShadowStackEntry *Next; // Caller's stack entry.
287 // void *Roots[]; // Stack roots (in-place array, so we pretend).
373 /// runOnFunction - Insert code to maintain the shadow stack.
381 // stack map entry for it.
385 // Build the constant map and figure the type of the shadow stack entry.
389 // Build the shadow stack entry at the very start of the function.
399 // Initialize the map pointer and load the current head of the shadow stack.
419 // shadow stack.
423 // Push the entry onto the shadow stack.
434 // Pop the entry from the shadow stack. Don't reuse CurrentHead from