Example #1
0
vframeOop create_vframeOop(oop method) {
  if (++createdVFrameProtos > 3)
    ShouldNotReachHere(); // should create only three vframe prototypes
  vframeMap *vf;
  switch (method->kind()) {
   case OuterMethodType: { ovframeMap m; vf= &m; break; }
   case BlockMethodType: { bvframeMap m; vf= &m; break; }
   default: ShouldNotReachHere();
  }
  assert(sizeof(vframeMap) == sizeof(bvframeMap) &&
         sizeof(vframeMap) == sizeof(ovframeMap), "should be the same");
  vframeOop p;
  vframeMap* m = (vframeMap*)create_map(sizeof(vframeMap), NULL, vf, (oop*)&p);
  p->set_next(NULL);
  p->set_method(method);
  p->set_locals(NULL);
  p->set_process(NULL);
  p->set_descOffset(0);
  return p;
}