本文整理汇总了C++中ProfilerNode::next方法的典型用法代码示例。如果您正苦于以下问题:C++ ProfilerNode::next方法的具体用法?C++ ProfilerNode::next怎么用?C++ ProfilerNode::next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProfilerNode
的用法示例。
在下文中一共展示了ProfilerNode::next方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: unknown_compiled_update
void ThreadProfiler::unknown_compiled_update(const CodeBlob* cb, TickPosition where) {
int index = 0;
if (!table[index]) {
table[index] = new (this) unknown_compiledNode(cb, where);
} else {
ProfilerNode* prev = table[index];
for(ProfilerNode* node = prev; node; node = node->next()) {
if (node->unknown_compiled_match(cb)) {
node->update(where);
return;
}
prev = node;
}
prev->set_next(new (this) unknown_compiledNode(cb, where));
}
}
示例2: runtime_stub_update
void ThreadProfiler::runtime_stub_update(const CodeBlob* stub, const char* name, TickPosition where) {
int index = 0;
if (!table[index]) {
table[index] = new (this) runtimeStubNode(stub, name, where);
} else {
ProfilerNode* prev = table[index];
for(ProfilerNode* node = prev; node; node = node->next()) {
if (node->runtimeStub_match(stub, name)) {
node->update(where);
return;
}
prev = node;
}
prev->set_next(new (this) runtimeStubNode(stub, name, where));
}
}
示例3: adapter_update
void ThreadProfiler::adapter_update(TickPosition where) {
int index = 0;
if (!table[index]) {
table[index] = new (this) adapterNode(where);
} else {
ProfilerNode* prev = table[index];
for(ProfilerNode* node = prev; node; node = node->next()) {
if (node->adapter_match()) {
node->update(where);
return;
}
prev = node;
}
prev->set_next(new (this) adapterNode(where));
}
}
示例4: stub_update
void ThreadProfiler::stub_update(Method* method, const char* name, TickPosition where) {
int index = entry(ProfilerNode::hash(method));
if (!table[index]) {
table[index] = new (this) stubNode(method, name, where);
} else {
ProfilerNode* prev = table[index];
for(ProfilerNode* node = prev; node; node = node->next()) {
if (node->stub_match(method, name)) {
node->update(where);
return;
}
prev = node;
}
prev->set_next(new (this) stubNode(method, name, where));
}
}
示例5: vm_update
void ThreadProfiler::vm_update(const char* name, TickPosition where) {
int index = entry(vmNode::hash(name));
assert(index >= 0, "Must be positive");
// Note that we call strdup below since the symbol may be resource allocated
if (!table[index]) {
table[index] = new (this) vmNode(os::strdup(name), where);
} else {
ProfilerNode* prev = table[index];
for(ProfilerNode* node = prev; node; node = node->next()) {
if (((vmNode *)node)->vm_match(name)) {
node->update(where);
return;
}
prev = node;
}
prev->set_next(new (this) vmNode(os::strdup(name), where));
}
}