本文整理汇总了C++中oop::is_objVector方法的典型用法代码示例。如果您正苦于以下问题:C++ oop::is_objVector方法的具体用法?C++ oop::is_objVector怎么用?C++ oop::is_objVector使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oop
的用法示例。
在下文中一共展示了oop::is_objVector方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ov_at_put_prim
oop objVectorOopClass::ov_at_put_prim(oop rcvr, oop indexOop, oop contents) {
if (!rcvr->is_objVector()) return ErrorCodes::vmString_prim_error(BADTYPEERROR);
if (!indexOop->is_smi()) return ErrorCodes::vmString_prim_error(BADTYPEERROR);
smi index = smiOop(indexOop)->value();
if (unsigned(index) >= unsigned(objVectorOop(rcvr)->length()))
return ErrorCodes::vmString_prim_error(BADINDEXERROR);
objVectorOop(rcvr)->obj_at_put(index, contents);
return rcvr;
}
示例2: do_edge
void graph_creator::do_edge(call_graph_edge* e) {
oop node_oop;
if (e->is_fold_edge()) {
node_oop = clone_fold_edge_pt((fold_edge*) e);
} else {
call_graph_node* n = e->callee;
if (n->is_method_node()) {
node_oop = clone_method_pt((method_node*) n);
} else if (n->is_block_node()) {
node_oop = clone_block_pt((block_node*) n);
} else if (n->is_prim_node()) {
node_oop = clone_prim_node_pt((prim_node*) n);
} else if (n->is_access_node()) {
node_oop = clone_access_node_pt((access_node*) n);
} else if (n->is_leaf_node()) {
node_oop = clone_leaf_node_pt((leaf_node*) n);
} else {
fatal("unexpected node type in call graph");
}
}
if (node_oop == failedAllocationOop) {
out_of_memory= true;
return;
}
if (parent) {
assert(parent->is_objVector(), "should be an objVector");
// fill in an element in the parent vector
objVectorOop p = objVectorOop(parent);
assert( p->obj_at(index * 2 ) == NULL, "already there\n");
assert( p->obj_at(index * 2 + 1) == NULL, "already there\n");
p->obj_at_put(index * 2, as_smiOop(e->bci));
p->obj_at_put(index * 2 + 1, node_oop);
index++;
}
else {
assert(_root == NULL, "_root already set");
_root = node_oop;
}
next_parent = node_oop;
}
示例3: ov_size_prim
oop objVectorOopClass::ov_size_prim(oop rcvr) {
if (!rcvr->is_objVector()) return ErrorCodes::vmString_prim_error(BADTYPEERROR);
return as_smiOop(objVectorOop(rcvr)->length());
}