static gint64 step_timer (gint64 *timer) { gint64 curtime, diff; SGEN_TV_GETTIME (curtime); diff = SGEN_TV_ELAPSED (*timer, curtime); *timer = curtime; return diff; }
void sgen_bridge_processing_finish (int generation) { unsigned long step_8; SGEN_TV_DECLARE (atv); SGEN_TV_DECLARE (btv); bridge_processor.processing_build_callback_data (generation); if (compare_bridge_processors ()) compare_to_bridge_processor.processing_build_callback_data (generation); if (bridge_processor.num_sccs == 0) { g_assert (bridge_processor.num_xrefs == 0); goto after_callback; } bridge_callbacks.cross_references (bridge_processor.num_sccs, bridge_processor.api_sccs, bridge_processor.num_xrefs, bridge_processor.api_xrefs); if (compare_bridge_processors ()) sgen_compare_bridge_processor_results (&bridge_processor, &compare_to_bridge_processor); SGEN_TV_GETTIME (btv); null_weak_links_to_dead_objects (&bridge_processor, generation); free_callback_data (&bridge_processor); if (compare_bridge_processors ()) free_callback_data (&compare_to_bridge_processor); SGEN_TV_GETTIME (atv); step_8 = SGEN_TV_ELAPSED (btv, atv); after_callback: bridge_processor.processing_after_callback (generation); if (compare_bridge_processors ()) compare_to_bridge_processor.processing_after_callback (generation); bridge_processing_in_progress = FALSE; }