当前位置: 首页>>代码示例>>C++>>正文


C++ oop::obj_at_put方法代码示例

本文整理汇总了C++中oop::obj_at_put方法的典型用法代码示例。如果您正苦于以下问题:C++ oop::obj_at_put方法的具体用法?C++ oop::obj_at_put怎么用?C++ oop::obj_at_put使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在oop的用法示例。


在下文中一共展示了oop::obj_at_put方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: pass_to_Self

void PendingSelfSignals::pass_to_Self(oop resultArg) {
  if (SignalInterface::are_self_signals_blocked())
    fatal("signals are blocked -- shouldn't transfer");
  // must block interrupts to avoid interference from signal_handler
  { SignalBlocker sb;
    fint index = 1;
    for (fint i = 0;
              i < n_real_SelfSignals;  
            ++i ) {
      smi c = count(SelfSignal(i));
      if ( c != 0) {
        resultArg->obj_at_put(index++, name(SelfSignal(i)));
        resultArg->obj_at_put(index++, as_smiOop(c));
        reset(SelfSignal(i));
      }
    }
    _are_any_pending = false;
    _know_if_any_pending = true;
    resultArg->obj_at_put(0, as_smiOop(index / 2));
  }
}
开发者ID:cthulhuology,项目名称:self,代码行数:21,代码来源:sig.cpp

示例2: get_result

oop processOopClass::get_result(oop resultArg) {
  // compute result and fill in result vector if necessary
  oop res;
  switch (preemptCause) {
   case cTerminated:
   case cAborted:
    res = VMString[causeString[preemptCause]];
    delete prevProcess;
    break;
   case cStackOverflowed:
   case cNonLIFOBlock:
    res = VMString[causeString[preemptCause]];
    assert(prevProcess->state == stopped, "wrong state");
    break;
   case cSingleStepped:
   case cFinishedActivation:
   case cCouldntAllocateStack:
   case cLowOnSpace:
    res = VMString[causeString[preemptCause]];
    break;
   case cYielded:
    res = VMString[causeString[preemptCause]];
    resultArg->obj_at_put(0, yieldRcvr);
    resultArg->obj_at_put(1, yieldArg);
    break;
   case cSignal:
    res = VMString[SIGNAL];
    PendingSelfSignals::pass_to_Self(resultArg);
    break;
   case cNoCause:
   case cLast:
   default:
    fatal1("unknown/illegal preemptCause %ld", preemptCause);
  }
  return res;
}
开发者ID:ardeujho,项目名称:self,代码行数:36,代码来源:processOop.cpp


注:本文中的oop::obj_at_put方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。