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); }
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); }
void ncc_tracker_t::update_search( float frame, const image::buffer_t& pixels) { pimpl_->update_search( search_area( frame), pixels); }