Difference: DTTAlgorithm (4 vs. 5)

Revision 52008-01-22 - TongxinBai

Line: 1 to 1
META TOPICPARENT name="GccVersion4_1_0"

Dependence Tracing Algorithm

-- TongxinBai - 21 Jan 2008
Line: 43 to 43
  update_pseudo_time (); if (sketch_p) { update_fronzen_time ();
update_toplev_location ();
update_toplev_location (file_name, line);
  } w = lookup_write (addr); if (w) return;
Line: 69 to 69
  output_function_leaving (); } \ No newline at end of file
The data structure for memory write operation is
struct _write
   unsigned int addr;
   long long psu_time;
   long long frozen_time;
   char *file_name;
   int line;
   char *toplev_file_name;
   int toplev_line;
   struct _write *hash_next;
Field file_name and line hold the access level location of the write while field toplev_file_name and toplev_line hold the function level location.

To help record function (top) level locations, two global variables are used, toplev_file_name and toplev_line. The two variables hold the current function level location so that they can be copied to the corresponding two fields in struct _write when a write is to be recorded.

This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback