GCC Middle and Back End API Reference
log_entry_hasher Struct Reference

Public Types

typedef tm_log_entry value_type
typedef tm_log_entry compare_type

Static Public Member Functions

static hashval_t hash (const value_type *)
static bool equal (const value_type *, const compare_type *)
static void remove (value_type *)

Detailed Description

   Log entry hashtable helpers.  

Member Typedef Documentation

Member Function Documentation

bool log_entry_hasher::equal ( const value_type log1,
const compare_type log2 
   Htab support.  Return true if two log entries are the same.  

     rth: I suggest that we get rid of the component refs etc.
     I.e. resolve the reference to base + offset.

     We may need to actually finish a merge with mainline for this,
     since we'd like to be presented with Richi's MEM_REF_EXPRs more
     often than not.  But in the meantime your tm_log_entry could save
     the results of get_inner_reference.

     See: g++.dg/tm/pr46653.C
     Special case plain equality because operand_equal_p() below will
     return FALSE if the addresses are equal but they have
     side-effects (e.g. a volatile address).  

References tm_new_mem_map::local_new_memory, and tm_new_mem_map::val.

hashval_t log_entry_hasher::hash ( const value_type log)
   Htab support.  Return hash value for a `tm_log_entry'.  

References mem_max, mem_non_local, mem_thread_local, and mem_transaction_local.

void log_entry_hasher::remove ( value_type lp)
   Htab support.  Free one tm_log_entry.  

The documentation for this struct was generated from the following file: