Lines Matching refs:lsda

341 	struct dwarf_eh_lsda lsda;  in parse_lsda()  local
343 lsda.region_start = reinterpret_cast<dw_eh_ptr_t>(_Unwind_GetRegionStart(context)); in parse_lsda()
348 uint64_t v = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(lsda.region_start)); in parse_lsda()
350 lsda.landing_pads = reinterpret_cast<dw_eh_ptr_t>(static_cast<uintptr_t>(v)); in parse_lsda()
356 lsda.type_table = 0; in parse_lsda()
357 lsda.type_table_encoding = *data++; in parse_lsda()
358 if (lsda.type_table_encoding != DW_EH_PE_omit) in parse_lsda()
363 lsda.type_table = type_table; in parse_lsda()
367 lsda.type_table_encoding = (DW_EH_PE_pcrel | DW_EH_PE_indirect); in parse_lsda()
370 lsda.callsite_encoding = static_cast<enum dwarf_data_encoding>(*(data++)); in parse_lsda()
373 lsda.action_table = data; in parse_lsda()
375 lsda.action_table = data + callsite_size; in parse_lsda()
377 lsda.call_site_table = static_cast<dw_eh_ptr_t>(data); in parse_lsda()
380 return lsda; in parse_lsda()
407 struct dwarf_eh_lsda *lsda, in dwarf_eh_find_callsite() argument
414 unsigned char *callsite_table = static_cast<unsigned char*>(lsda->call_site_table); in dwarf_eh_find_callsite()
416 while (callsite_table <= lsda->action_table) in dwarf_eh_find_callsite()
420 call_site_start = read_value(lsda->callsite_encoding, &callsite_table); in dwarf_eh_find_callsite()
421 call_site_size = read_value(lsda->callsite_encoding, &callsite_table); in dwarf_eh_find_callsite()
431 landing_pad = read_value(lsda->callsite_encoding, &callsite_table); in dwarf_eh_find_callsite()
448 result->action_record = lsda->action_table + action - 1; in dwarf_eh_find_callsite()
454 result->landing_pad = lsda->landing_pads + landing_pad; in dwarf_eh_find_callsite()