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


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

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


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

示例1: add_obj

void map_enumeration::add_obj(oop obj) {
  assert(graph_maps->member(obj->map()->enclosing_mapOop()), "map should be known");
  if (!graph_maps->find(obj->map()->enclosing_mapOop())) {
    if (obj->is_block()) {
      // TO BE FIXED WHEN THE SIC IS BETTER TO KILL BLOCK OOPS WHEN
      // A SCOPE TREMINATE. 3/31/93 LB.
      // Clone and kill the copy to avoid the problem.
      obj = obj->clone(); 
      blockOop(obj)->kill_block();
    }
    graph_maps->update(obj->map()->enclosing_mapOop(), obj);
  }
}
开发者ID:AdamSpitz,项目名称:self,代码行数:13,代码来源:nprofiler.copygraph.cpp

示例2: findNMethodsFor

void findNMethodsFor(oop b) {
  // for debugging
  if (!b->is_block()) {
    lprintf("(warning: not a block)\n");
  }
  map_to_find = b->map()->enclosing_mapOop();
  Memory->code->nmethods_do(findBlkFn);
}
开发者ID:ardeujho,项目名称:self,代码行数:8,代码来源:blockOop.cpp

示例3: FScope

FSelfScope::FSelfScope(bool d, MethodLookupKey *key, oop method) :
  FScope(d) {
  _key    = key;
  _method = method;
  
  method_map = (methodMap *) method->map();
  fint codeLength  = method_map->length_codes();
  fint slotsLength = method_map->length_slots();
  args =   new LocationList(slotsLength);
  locals = new LocationList(slotsLength);
  exprStack = new      LocationList(codeLength);
  blocks =    new BlockLocationList(codeLength);
  nlrPoints = new LabelList(codeLength + 1);
  nlrPoints->append(NULL);
  
  bool got_one;
  method_map->branch_targets(got_one, &branchTargetFlags);
  
  if (got_one) {
    branchTargets = new LabelList(branchTargetFlags->length());
    for ( int32 i = 0,  n = branchTargetFlags->length();  i < n;  ++i)
      branchTargets->nthPut(i, new Label(theCodeGen->a.printing, NULL), true);
  }
  else {
    branchTargets = NULL;
  }
  initializedBlockLocations = NULL;
  
  frequentPreemption = theCompiler->generateDebugCode;
  // If doing consistent stack alloc for branches, must also
  //  be sure to copy fixed values when pushing -- dmu
  allowPrimitivesToAlterExpressionStack =  theCompiler->generateDebugCode;

    
  memoizeAllBlockZaps = theCompiler->generateDebugCode || got_one;
  initBlocksInPrologue = got_one;
  // VM expects to be able to create memoized blocks and put them in 
  //  locations pointed to by debugging info.
  // Since VM gets block locs from expr stack debug info, we
  //  must create all "memoized" blocks. 
  createMemoizedBlocks = theCompiler->generateDebugCode;
  
  branchTargetExprStack = new LocationList(codeLength);
  allocs = new RegisterState(slotsLength + codeLength);
  _scopeID = 0;
  scopeDescs = theCodeGen->scopeDescs;
  foundLoop = false;
  need_epilogue = true;
}
开发者ID:AaronNGray,项目名称:self,代码行数:49,代码来源:fscope.cpp


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