本文整理汇总了C++中Unimplemented函数的典型用法代码示例。如果您正苦于以下问题:C++ Unimplemented函数的具体用法?C++ Unimplemented怎么用?C++ Unimplemented使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Unimplemented函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: compilationPolicy_init
// Determine compilation policy based on command line argument
void compilationPolicy_init() {
CompilationPolicy::set_in_vm_startup(DelayCompilationDuringStartup);
switch(CompilationPolicyChoice) {
case 0:
CompilationPolicy::set_policy(new SimpleCompPolicy());
break;
case 1:
#ifdef COMPILER2
CompilationPolicy::set_policy(new StackWalkCompPolicy());
#else
Unimplemented();
#endif
break;
case 2:
#ifdef TIERED
CompilationPolicy::set_policy(new SimpleThresholdPolicy());
#else
Unimplemented();
#endif
break;
case 3:
#ifdef TIERED
CompilationPolicy::set_policy(new AdvancedThresholdPolicy());
#else
Unimplemented();
#endif
break;
default:
fatal("CompilationPolicyChoice must be in the range: [0-3]");
}
CompilationPolicy::policy()->initialize();
}
示例2: switch
void LIR_Assembler::emit_op0(LIR_Op0* op) {
switch (op->code()) {
case lir_word_align: {
while (code_offset() % BytesPerWord != 0) {
_masm->nop();
}
break;
}
case lir_nop:
assert(op->info() == NULL, "not supported");
_masm->nop();
break;
case lir_label:
Unimplemented();
break;
case lir_build_frame:
build_frame();
break;
case lir_std_entry:
_masm->align(CodeEntryAlignment);
_masm->set_code_start();
_masm->entry(_compilation->codeprofile());
build_frame();
break;
case lir_osr_entry:
Unimplemented();
//osr_entry();
break;
case lir_breakpoint:
breakpoint();
break;
case lir_membar:
membar();
break;
case lir_membar_acquire:
membar_acquire();
break;
case lir_membar_release:
membar_release();
break;
case lir_get_thread:
get_thread(op->result_opr());
break;
default:
ShouldNotReachHere();
break;
}
}
示例3: Assert
void AttributeManager::deleteAttributes(const AttrIdVec& atids) {
typedef std::map<uint64_t, std::vector< uint64_t> > AttrToVecMap;
AttrToVecMap perTableIds;
for(AttrIdVec::const_iterator it = atids.begin(), it_end = atids.end(); it != it_end; ++it) {
const AttributeUniqueId& pair = *(*it);
std::vector< uint64_t>& inTable = perTableIds[pair.getTableId()];
inTable.push_back(pair.getWithinTypeId());
}
AttrToVecMap::iterator it = perTableIds.begin(), it_end = perTableIds.end();
for(; it != it_end; ++it) {
Assert(((*it).first) <= LastAttrTable);
AttrTableId tableId = (AttrTableId) ((*it).first);
std::vector< uint64_t>& ids = (*it).second;
std::sort(ids.begin(), ids.end());
switch(tableId) {
case AttrTableBool:
Unimplemented("delete attributes is unimplemented for bools");
break;
case AttrTableUInt64:
deleteAttributesFromTable(d_ints, ids);
break;
case AttrTableTNode:
deleteAttributesFromTable(d_tnodes, ids);
break;
case AttrTableNode:
deleteAttributesFromTable(d_nodes, ids);
break;
case AttrTableTypeNode:
deleteAttributesFromTable(d_types, ids);
break;
case AttrTableString:
deleteAttributesFromTable(d_strings, ids);
break;
case AttrTableCDBool:
case AttrTableCDUInt64:
case AttrTableCDTNode:
case AttrTableCDNode:
case AttrTableCDString:
case AttrTableCDPointer:
Unimplemented("CDAttributes cannot be deleted. Contact Tim/Morgan if this behavior is desired.");
break;
case LastAttrTable:
default:
Unreachable();
}
}
}
示例4: Unimplemented
StubQueue::~StubQueue() {
// Note: Currently StubQueues are never destroyed so nothing needs to be done here.
// If we want to implement the destructor, we need to release the BufferBlob
// allocated in the constructor (i.e., we need to keep it around or look it
// up via CodeCache::find_blob(...).
Unimplemented();
}
示例5: printAllocated
void printAllocated(RegisterMask rs) {
Unimplemented();
/*
printf("{");
bool first = true;
unsigned r = rs; // safer for >>
for (int d = 0; r; d++, r >>= 1) {
if (isSet(r, 0)) {
if (first) {
first = false;
} else {
printf(",");
}
printf("%s", RegisterNames[d]);
Unimplemented();
// Location d1 = Location(d); <<< fix this
Location d1;
for (char c = RegisterNames[d][0];
isSet(r, 1) && c == RegisterNames[d + 1][0];
d ++, r >>= 1)
;
if (d > d1.no()) printf("-%s", RegisterNames[d]);
}
}
printf("}");
fflush(stdout);
*/
}
示例6: SAPReg
void BlockScope::initialize(methodOop method, klassOop methodHolder, Scope* p, InlinedScope* s, RScope* rs, SendInfo* info) {
InlinedScope::initialize(method, methodHolder, s, rs, info);
_parent = p;
_self_is_initialized = false;
if (s == NULL) {
// top scope: create a context (currently always initialized for blocks)
// (context is set up by the prologue node)
_context = new SAPReg(this, PrologueBCI, EpilogueBCI);
} else {
// set up for context passed in by caller
// (_context may be changed later if this scope allocates its own context)
switch (method->block_info()) {
case methodOopDesc::expects_nil: // no context needed
_context = NULL; break;
case methodOopDesc::expects_self:
_context = self()->preg(); fatal("self not known yet -- fix this"); break;
case methodOopDesc::expects_parameter: // fix this -- should find which
Unimplemented();
break;
case methodOopDesc::expects_context:
if (p->isInlinedScope()) {
_context = ((InlinedScope*)p)->context();
} else {
fatal("shouldn't inline"); // shouldn't inline block unless parent was inlined, too
}
break;
default:
fatal("unexpected incoming info");
}
}
}
示例7: assert_locked_or_safepoint
void CodeBlobCollector::collect() {
assert_locked_or_safepoint(CodeCache_lock);
assert(_global_code_blobs == NULL, "checking");
// create the global list
_global_code_blobs = new (ResourceObj::C_HEAP) GrowableArray<JvmtiCodeBlobDesc*>(50,true);
// iterate over the stub code descriptors and put them in the list first.
int index = 0;
StubCodeDesc* desc;
while ((desc = StubCodeDesc::desc_for_index(++index)) != NULL) {
_global_code_blobs->append(new JvmtiCodeBlobDesc(desc->name(), desc->begin(), desc->end()));
}
// next iterate over all the non-nmethod code blobs and add them to
// the list - as noted above this will filter out duplicates and
// enclosing blobs.
Unimplemented();
//CodeCache::blobs_do(do_blob);
// make the global list the instance list so that it can be used
// for other iterations.
_code_blobs = _global_code_blobs;
_global_code_blobs = NULL;
}
示例8: assert_different_registers
void C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr, Label& slow_case) {
const int hdr_offset = oopDesc::mark_offset_in_bytes();
assert_different_registers(hdr, obj, disp_hdr);
NearLabel done;
verify_oop(obj);
// Load object header.
z_lg(hdr, Address(obj, hdr_offset));
// Save object being locked into the BasicObjectLock...
z_stg(obj, Address(disp_hdr, BasicObjectLock::obj_offset_in_bytes()));
if (UseBiasedLocking) {
biased_locking_enter(obj, hdr, Z_R1_scratch, Z_R0_scratch, done, &slow_case);
}
// and mark it as unlocked.
z_oill(hdr, markOopDesc::unlocked_value);
// Save unlocked object header into the displaced header location on the stack.
z_stg(hdr, Address(disp_hdr, (intptr_t)0));
// Test if object header is still the same (i.e. unlocked), and if so, store the
// displaced header address in the object header. If it is not the same, get the
// object header instead.
z_csg(hdr, disp_hdr, hdr_offset, obj);
// If the object header was the same, we're done.
if (PrintBiasedLockingStatistics) {
Unimplemented();
#if 0
cond_inc32(Assembler::equal,
ExternalAddress((address)BiasedLocking::fast_path_entry_count_addr()));
#endif
}
branch_optimized(Assembler::bcondEqual, done);
// If the object header was not the same, it is now in the hdr register.
// => Test if it is a stack pointer into the same stack (recursive locking), i.e.:
//
// 1) (hdr & markOopDesc::lock_mask_in_place) == 0
// 2) rsp <= hdr
// 3) hdr <= rsp + page_size
//
// These 3 tests can be done by evaluating the following expression:
//
// (hdr - Z_SP) & (~(page_size-1) | markOopDesc::lock_mask_in_place)
//
// assuming both the stack pointer and page_size have their least
// significant 2 bits cleared and page_size is a power of 2
z_sgr(hdr, Z_SP);
load_const_optimized(Z_R0_scratch, (~(os::vm_page_size()-1) | markOopDesc::lock_mask_in_place));
z_ngr(hdr, Z_R0_scratch); // AND sets CC (result eq/ne 0).
// For recursive locking, the result is zero. => Save it in the displaced header
// location (NULL in the displaced hdr location indicates recursive locking).
z_stg(hdr, Address(disp_hdr, (intptr_t)0));
// Otherwise we don't care about the result and handle locking via runtime call.
branch_optimized(Assembler::bcondNotZero, slow_case);
// done
bind(done);
}
示例9: Unimplemented
// inline void Atomic::store(jbyte store_value, volatile jbyte* dest)
// {
// Unimplemented();
// }
// inline void Atomic::store(jshort store_value, volatile jshort* dest)
// {
// Unimplemented();
// }
inline void Atomic::store(jint store_value, volatile jint* dest)
{
#ifdef PPC
*dest = store_value;
#else
Unimplemented();
#endif
}
示例10: Unimplemented
void RenderTexture::fillTexture(uint32* dataRGBA32)
{
(void)dataRGBA32;
Unimplemented(); // TODO not complete?
DX_GetDeviceContext(dxctx);
dxctx->GenerateMips(mDxTextureView);
}
示例11: Unimplemented
void IC::replace(nmethod* nm) {
Unimplemented();
IC_Iterator* it = iterator();
it->init_iteration();
while (!it->at_end()) {
// replace if found
it->advance();
}
}
示例12: pick
Location pick(RegisterMask& alloc, RegisterMask mask) {
Unimplemented();
unsigned r = mask & ~alloc;
if (r == 0) return unAllocated;
for (int reg = 0; ! isSet(r, 0); reg ++, r >>= 1) ;
setNth(alloc, reg);
// return Location(ireg, reg); /// fix this
return Location();
}
示例13: CAST_FROM_FN_PTR
bool CppInterpreter::contains(address pc)
{
#ifdef PPC
return pc == CAST_FROM_FN_PTR(address, RecursiveInterpreterActivation)
|| _code->contains(pc);
#else
Unimplemented();
#endif // PPC
}
示例14: Unimplemented
void CompactingPermGenGen::generate_vtable_methods(void** vtbl_list,
void** vtable,
char** md_top,
char* md_end,
char** mc_top,
char* mc_end)
{
Unimplemented();
}
示例15: Unimplemented
// Loads the current PC of the following instruction as an immediate value in
// 2 instructions. All PCs in the CodeCache are within 2 Gig of each other.
inline intptr_t MacroAssembler::load_pc_address( Register reg, int bytes_to_skip ) {
intptr_t thepc = (intptr_t)pc() + 2*BytesPerInstWord + bytes_to_skip;
#ifdef _LP64
Unimplemented();
#else
Assembler::sethi( thepc & ~0x3ff, reg, internal_word_Relocation::spec((address)thepc));
add(reg, thepc & 0x3ff, reg, internal_word_Relocation::spec((address)thepc));
#endif
return thepc;
}