Home | History | Annotate | Download | only in ia64

Lines Matching refs:rbs

84   struct rbs_area *rbs = &c->rbs_area[c->rbs_curr];
94 rbs->size = (rbs->end - lo);
96 /* If the previously-recorded rbs-area is empty we don't need to
98 if (rbs->size)
101 (long) (rbs->end - rbs->size), (long) rbs->end);
104 rbs = c->rbs_area + c->rbs_curr;
113 rbs->end = saved_bspstore;
114 rbs->size = saved_bspstore - rbs_base;
115 rbs->rnat_loc = saved_rnat_loc;
120 (long long) rbs->end, ia64_strloc (rbs->rnat_loc));
180 get_rnat (struct cursor *c, struct rbs_area *rbs, unw_word_t bsp,
183 ia64_loc_t rnat_locp = rbs_get_rnat_loc (rbs, bsp);
191 rbs-areas, we save those registers to DIRTY_PARTITION where
205 struct rbs_area *rbs = c->rbs_area + curr;
211 if (likely (rbs_contains (rbs, bsp)))
213 /* at least _some_ registers are on rbs... */
214 n = rse_num_regs (bsp, rbs->end);
217 /* common case #1: all registers are on current rbs... */
218 /* got lucky: _all_ registers are on rbs... */
219 ia64_loc_t rnat_loc = rbs_get_rnat_loc (rbs, c->bsp);
232 nregs -= n; /* account for registers already on the rbs */
234 assert (rse_skip_regs (c->bsp, -nregs) == rse_skip_regs (rbs->end, 0));
239 nregs += rse_num_regs (rbs->end, bsp);
243 *bspstore = bsp = rbs->end;
244 c->loc[IA64_REG_RNAT] = rbs->rnat_loc;
245 assert (!IA64_IS_REG_LOC (rbs->rnat_loc));
251 if (unlikely (!rbs_contains (rbs, bsp)))
253 /* switch to next non-empty rbs-area: */
258 Debug (0, "rbs-underflow while flushing %lu regs, "
264 assert (rse_num_regs (rbs->end, bsp) == 0);
268 rbs = c->rbs_area + curr;
269 bsp = rbs->end - rbs->size;
271 while (rbs->size == 0);
273 if ((ret = get_rnat (c, rbs, bsp, &src_rnat)) < 0)
280 if ((ret = get_rnat (c, rbs, bsp, &src_rnat)) < 0)
298 if ((ret = ia64_get (c, rbs_loc (rbs, bsp), dst)) < 0)