当前位置: 首页>>代码示例>>C++>>正文


C++ oop::print_string方法代码示例

本文整理汇总了C++中oop::print_string方法的典型用法代码示例。如果您正苦于以下问题:C++ oop::print_string方法的具体用法?C++ oop::print_string怎么用?C++ oop::print_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在oop的用法示例。


在下文中一共展示了oop::print_string方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: RecordLabelInfo

int32 LabelSet::RecordLabelInfo( AbstractByteCode* b, oop label, int32 sd, 
                              LabelOccurrence why,  int32 bci) {
  static char buf[BUFSIZ];                       
  LabelInfo* li= at(label);
  if ( li == NULL ) {
    if (index == maxIndex)
      grow();
    labels[index++] = li= new LabelInfo(label, sd, bci, -1);
    li->isDefined = why == defineLabel;
  }
  else {
    if ( li->stack_depth != sd ) {
      b->errorMessage = buf;
      char psb[BUFSIZ];
      label->print_string(psb);
      sprintf(buf,
              "Label %s has stack depth %d at bytecode %d, "
              "but has differing stack depth %d at bytecode %d",
              psb,
              li->stack_depth, li->bci,
              sd, bci);
      return -1;
    }
    if ( why == defineLabel ) {
      if ( li->isDefined ) { 
        b->errorMessage = buf;
        char psb[BUFSIZ];
        label->print_string(psb);
        sprintf(buf,
          "Label %s is multiply defined at bytecodes %d and %d",
          psb,
          li->bci, bci);
        return -1;
      }
      li->bci = bci;
      li->isDefined = true;
    }
  }
  // dont alloc lit for label def, might be used in case only
  if (li->literalIndex == -1  &&  why == simpleBranch)
    li->literalIndex= b->GenLabelLiteral();
  return why == simpleBranch  ?  li->literalIndex  :  0;
}
开发者ID:AaronNGray,项目名称:self,代码行数:43,代码来源:labelSet.cpp

示例2: ResolveLabel

bool LabelSet::ResolveLabel( AbstractByteCode* b,
                             oop lbl, objVectorOop pcs, int32 i) {
  static char buf[BUFSIZ];
  LabelInfo* li = at(lbl);
  if ( li == NULL  ||  !li->isDefined) { 
      char psb[BUFSIZ];
      lbl->print_string(psb);
      b->errorMessage = buf;
      sprintf(buf, "Label %s is undefined", psb);
    return false;
  }
  pcs->obj_at_put(i, as_smiOop(li->bci));
  return true;
}
开发者ID:AaronNGray,项目名称:self,代码行数:14,代码来源:labelSet.cpp


注:本文中的oop::print_string方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。