本文整理汇总了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;
}
示例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;
}