本文整理汇总了C++中BackgroundCompileRequest::set_block_env方法的典型用法代码示例。如果您正苦于以下问题:C++ BackgroundCompileRequest::set_block_env方法的具体用法?C++ BackgroundCompileRequest::set_block_env怎么用?C++ BackgroundCompileRequest::set_block_env使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackgroundCompileRequest
的用法示例。
在下文中一共展示了BackgroundCompileRequest::set_block_env方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gc_scan
void gc_scan(GarbageCollector* gc) {
utilities::thread::Mutex::LockGuard guard(mutex_);
for(std::list<BackgroundCompileRequest*>::iterator i = pending_requests_.begin();
i != pending_requests_.end();
++i)
{
BackgroundCompileRequest* req = *i;
if(Object* obj = gc->saw_object(req->method())) {
req->set_method(force_as<CompiledCode>(obj));
}
if(Class* receiver_class = req->receiver_class()) {
req->set_receiver_class(as<Class>(gc->saw_object(receiver_class)));
}
if(BlockEnvironment* block_env = req->block_env()) {
req->set_block_env(as<BlockEnvironment>(gc->saw_object(block_env)));
}
}
if(current_compiler_) {
jit::RuntimeDataHolder* rd = current_compiler_->context()->runtime_data_holder();
rd->set_mark();
ObjectMark mark(gc);
rd->mark_all(current_req_->method(), mark);
}
}