firm_seqno_enter_id() added, to speed up ident calculation
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 6 Dec 2005 02:39:43 +0000 (02:39 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 6 Dec 2005 02:39:43 +0000 (02:39 +0000)
[r7052]

ir/debug/seqnumbers.c
ir/debug/seqnumbers.h

index b6a982d..bb674b3 100644 (file)
@@ -52,6 +52,7 @@ static int seqno_cmp(const void *elt, const void *key, size_t size)
 
   return (e1->filename != e2->filename) | (e1->lineno - e2->lineno);
 }
+
 /*
  * Create a new sequence number from a filename and a line number.
  */
@@ -65,6 +66,19 @@ seqno_t firm_seqno_enter(const char *filename, unsigned lineno)
   return set_insert(seqnos, &key, sizeof(key), HASH(key));
 }
 
+/*
+ * Create a new sequence number from a filename ident and a line number.
+ */
+seqno_t firm_seqno_enter_id(ident *filename, unsigned lineno)
+{
+  struct sn_entry key;
+
+  key.filename = filename;
+  key.lineno   = lineno;
+
+  return set_insert(seqnos, &key, sizeof(key), HASH(key));
+}
+
 /**
  * Retrieve filename and line number form a sequence number
  */
index 541129a..d26d9fb 100644 (file)
@@ -44,6 +44,16 @@ typedef struct sn_entry *seqno_t;
  */
 seqno_t firm_seqno_enter(const char *filename, unsigned lineno);
 
+/**
+ * Create a new sequence number from a filename ident and a line number.
+ *
+ * @param filename  an ident
+ * @param lineno    a line number
+ *
+ * @return  a sequence number for this position.
+ */
+seqno_t firm_seqno_enter_id(ident *filename, unsigned lineno);
+
 /**
  * Retrieve filename and line number from a sequence number.
  *