Пример #1
0
void space::enumerate_families_small(enumeration* e) {
  theEnumeration = e;
  // need to skip searching errorObj
  // (This is used to fill frames and should not show up in other objects
  //  but DOES sit in the heap. If we search it by mistake,
  //  assertions will kvetch.)
  oop* errorObjp    = (oop*)Memory->errorObj->addr();
  oop* errorObj_end = find_next_object(errorObjp);
  
  if (objs_bottom <= errorObjp  &&  errorObjp < objs_top) {
    // two pieces:
    search_area((int32*) objs_bottom,  (int32*) errorObjp, (int32*) e->get_maps(), e->get_num_maps(), (match_func)add_obj_map_match);
    search_area((int32*) errorObj_end, (int32*)  objs_top, (int32*) e->get_maps(), e->get_num_maps(), (match_func)add_obj_map_match);
  }
  else
    search_area((int32*) objs_bottom,  (int32*) objs_top,  (int32*) e->get_maps(), e->get_num_maps(), (match_func)add_obj_map_match);
}
Пример #2
0
void space::enumerate_matches(enumeration* e) {
  smi num_targets = e->get_num_targets();
  if (num_targets <= 0)  return;
  theEnumeration = e;
  search_area((int32*) objs_bottom, (int32*) objs_top,
              (int32*) e->get_targets(), num_targets,
              (match_func)call_filter_match);
}
Пример #3
0
void ncc_tracker_t::update_search( float frame, const image::buffer_t& pixels)
{
	pimpl_->update_search( search_area( frame), pixels);
}