static _Unwind_Ptr get_ttype_entry_for (region_descriptor *region, long filter) { _Unwind_Ptr ttype_entry; filter *= size_of_encoded_value (region->ttype_encoding); read_encoded_value_with_base (region->ttype_encoding, region->ttype_base, region->ttype_table - filter, &ttype_entry); return ttype_entry; }
static Class get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i) { _Unwind_Ptr ptr; i *= size_of_encoded_value (info->ttype_encoding); read_encoded_value_with_base (info->ttype_encoding, info->ttype_base, info->TType - i, &ptr); /* NULL ptr means catch-all. */ if (ptr) return objc_get_class ((const char *) ptr); else return 0; }
static Class get_ttype_entry (struct lsda_header_info *info, _Unwind_Word i) { _Unwind_Ptr ptr; i *= size_of_encoded_value (info->ttype_encoding); read_encoded_value_with_base (info->ttype_encoding, info->ttype_base, info->TType - i, &ptr); /* NULL ptr means catch-all. Note that if the class is not found, this will abort the program. */ if (ptr) return objc_getRequiredClass ((const char *) ptr); else return 0; }