Skip to content

Commit

Permalink
Remove tool source duplication (#42)
Browse files Browse the repository at this point in the history
* Remove tool source duplication

* Various nits across codebase

* Fix decompressing of signed u32

* Fix bug in md_parse_local_constant_sig().
  • Loading branch information
AaronRobinsonMSFT authored Nov 28, 2023
1 parent 9411b50 commit e171c43
Show file tree
Hide file tree
Showing 19 changed files with 489 additions and 764 deletions.
19 changes: 9 additions & 10 deletions src/dnmd/bytes.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,28 +257,27 @@ bool decompress_i32(uint8_t const** data, size_t* data_len, int32_t* o)
uint32_t unsigned_value;
size_t original_data_len = *data_len;
if (!decompress_u32(data, data_len, &unsigned_value))
{
return false;
}

bool is_signed = (unsigned_value & 1) != 0;
unsigned_value >>= 1;
if (is_signed)
{
switch (*data_len - original_data_len)
switch (original_data_len - *data_len)
{
// Sign extend the value based on the number of bytes used.
case 1:
{
unsigned_value |= SIGN_MASK_ONEBYTE;
}
break;
case 2:
{
unsigned_value |= SIGN_MASK_TWOBYTE;
}
default:
{
break;
case 4:
unsigned_value |= SIGN_MASK_FOURBYTE;
}
break;
default:
assert(false);
return false;
}
}
*o = (int32_t)unsigned_value;
Expand Down
10 changes: 5 additions & 5 deletions src/dnmd/entry.c
Original file line number Diff line number Diff line change
Expand Up @@ -432,16 +432,16 @@ static bool dump_table_rows(mdtable_t* table)
}
else if (sequence_points->records[k].kind == mdsp_HiddenSequencePointRecord)
{
printf("hidden-sequence-point-record: %u", sequence_points->records[k].hidden_sequence_point.il_offset);
printf("hidden-sequence-point-record: %u", sequence_points->records[k].hidden_sequence_point.rolling_il_offset);
}
else if (sequence_points->records[k].kind == mdsp_SequencePointRecord)
{
printf("sequence-point-record: (%u, %u, %" PRId64 ", %" PRId64 ", %" PRId64 ")",
sequence_points->records[k].sequence_point.il_offset,
sequence_points->records[k].sequence_point.num_lines,
sequence_points->records[k].sequence_point.rolling_il_offset,
sequence_points->records[k].sequence_point.delta_lines,
sequence_points->records[k].sequence_point.delta_columns,
sequence_points->records[k].sequence_point.start_line,
sequence_points->records[k].sequence_point.start_column);
sequence_points->records[k].sequence_point.rolling_start_line,
sequence_points->records[k].sequence_point.rolling_start_column);
}
else
{
Expand Down
Loading

0 comments on commit e171c43

Please sign in to comment.