mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-09-24 16:05:27 +00:00
formatting
This commit is contained in:
@@ -19,7 +19,9 @@ internal class BCJFilterARM64 : Filter
|
||||
for (i = offset; i <= end; i += 4)
|
||||
{
|
||||
uint pc = (uint)(_pos + i - offset);
|
||||
uint instr = BinaryPrimitives.ReadUInt32LittleEndian(new ReadOnlySpan<byte>(buffer, i, 4));
|
||||
uint instr = BinaryPrimitives.ReadUInt32LittleEndian(
|
||||
new ReadOnlySpan<byte>(buffer, i, 4)
|
||||
);
|
||||
|
||||
if ((instr >> 26) == 0x25)
|
||||
{
|
||||
@@ -35,8 +37,7 @@ internal class BCJFilterARM64 : Filter
|
||||
}
|
||||
else if ((instr & 0x9F000000) == 0x90000000)
|
||||
{
|
||||
uint src = ((instr >> 29) & 3)
|
||||
| ((instr >> 3) & 0x001FFFFC);
|
||||
uint src = ((instr >> 29) & 3) | ((instr >> 3) & 0x001FFFFC);
|
||||
|
||||
if (((src + 0x00020000) & 0x001C0000) != 0)
|
||||
continue;
|
||||
|
||||
@@ -33,21 +33,17 @@ internal class BCJFilterRISCV : Filter
|
||||
uint b3 = buffer[i + 3];
|
||||
uint pc = (uint)(_pos + i);
|
||||
|
||||
uint addr = ((b1 & 0xF0) << 13)
|
||||
| (b2 << 9)
|
||||
| (b3 << 1);
|
||||
uint addr = ((b1 & 0xF0) << 13) | (b2 << 9) | (b3 << 1);
|
||||
|
||||
addr -= pc;
|
||||
|
||||
buffer[i + 1] = (byte)((b1 & 0x0F)
|
||||
| ((addr >> 8) & 0xF0));
|
||||
buffer[i + 1] = (byte)((b1 & 0x0F) | ((addr >> 8) & 0xF0));
|
||||
|
||||
buffer[i + 2] = (byte)(((addr >> 16) & 0x0F)
|
||||
| ((addr >> 7) & 0x10)
|
||||
| ((addr << 4) & 0xE0));
|
||||
buffer[i + 2] = (byte)(
|
||||
((addr >> 16) & 0x0F) | ((addr >> 7) & 0x10) | ((addr << 4) & 0xE0)
|
||||
);
|
||||
|
||||
buffer[i + 3] = (byte)(((addr >> 4) & 0x7F)
|
||||
| ((addr >> 13) & 0x80));
|
||||
buffer[i + 3] = (byte)(((addr >> 4) & 0x7F) | ((addr >> 13) & 0x80));
|
||||
|
||||
i += 4 - 2;
|
||||
}
|
||||
@@ -60,7 +56,9 @@ internal class BCJFilterRISCV : Filter
|
||||
|
||||
if ((inst & 0xE80) != 0)
|
||||
{
|
||||
inst2 = BinaryPrimitives.ReadUInt32LittleEndian(new ReadOnlySpan<byte>(buffer, i + 4, 4));
|
||||
inst2 = BinaryPrimitives.ReadUInt32LittleEndian(
|
||||
new ReadOnlySpan<byte>(buffer, i + 4, 4)
|
||||
);
|
||||
if (((((inst) << 8) ^ (inst2)) & 0xF8003) != 3)
|
||||
{
|
||||
i += 6 - 2;
|
||||
@@ -81,14 +79,15 @@ internal class BCJFilterRISCV : Filter
|
||||
continue;
|
||||
}
|
||||
|
||||
uint addr = BinaryPrimitives.ReadUInt32BigEndian(new ReadOnlySpan<byte>(buffer, i + 4, 4));
|
||||
uint addr = BinaryPrimitives.ReadUInt32BigEndian(
|
||||
new ReadOnlySpan<byte>(buffer, i + 4, 4)
|
||||
);
|
||||
|
||||
addr -= (uint)(_pos + i);
|
||||
|
||||
inst2 = (inst >> 12) | (addr << 20);
|
||||
|
||||
inst = 0x17 | (inst2_rs1 << 7)
|
||||
| ((addr + 0x800) & 0xFFFFF000);
|
||||
inst = 0x17 | (inst2_rs1 << 7) | ((addr + 0x800) & 0xFFFFF000);
|
||||
}
|
||||
BinaryPrimitives.WriteUInt32LittleEndian(new Span<byte>(buffer, i, 4), inst);
|
||||
BinaryPrimitives.WriteUInt32LittleEndian(new Span<byte>(buffer, i + 4, 4), inst2);
|
||||
@@ -123,7 +122,8 @@ internal class BCJFilterRISCV : Filter
|
||||
uint b3 = buffer[i + 3];
|
||||
uint pc = (uint)(_pos + i);
|
||||
|
||||
uint addr = ((b1 & 0xF0) << 8)
|
||||
uint addr =
|
||||
((b1 & 0xF0) << 8)
|
||||
| ((b2 & 0x0F) << 16)
|
||||
| ((b2 & 0x10) << 7)
|
||||
| ((b2 & 0xE0) >> 4)
|
||||
@@ -132,8 +132,7 @@ internal class BCJFilterRISCV : Filter
|
||||
|
||||
addr += pc;
|
||||
|
||||
buffer[i + 1] = (byte)((b1 & 0x0F)
|
||||
| ((addr >> 13) & 0xF0));
|
||||
buffer[i + 1] = (byte)((b1 & 0x0F) | ((addr >> 13) & 0xF0));
|
||||
|
||||
buffer[i + 2] = (byte)(addr >> 9);
|
||||
|
||||
@@ -149,7 +148,9 @@ internal class BCJFilterRISCV : Filter
|
||||
|
||||
if ((inst & 0xE80) != 0)
|
||||
{
|
||||
uint inst2 = BinaryPrimitives.ReadUInt32LittleEndian(new ReadOnlySpan<byte>(buffer, i + 4, 4));
|
||||
uint inst2 = BinaryPrimitives.ReadUInt32LittleEndian(
|
||||
new ReadOnlySpan<byte>(buffer, i + 4, 4)
|
||||
);
|
||||
if (((((inst) << 8) ^ (inst2)) & 0xF8003) != 3)
|
||||
{
|
||||
i += 6 - 2;
|
||||
@@ -173,14 +174,19 @@ internal class BCJFilterRISCV : Filter
|
||||
continue;
|
||||
}
|
||||
|
||||
uint fake_addr = BinaryPrimitives.ReadUInt32LittleEndian(new ReadOnlySpan<byte>(buffer, i + 4, 4));
|
||||
uint fake_addr = BinaryPrimitives.ReadUInt32LittleEndian(
|
||||
new ReadOnlySpan<byte>(buffer, i + 4, 4)
|
||||
);
|
||||
|
||||
uint fake_inst2 = (inst >> 12) | (fake_addr << 20);
|
||||
|
||||
inst = 0x17 | (fake_rs1 << 7) | (fake_addr & 0xFFFFF000);
|
||||
|
||||
BinaryPrimitives.WriteUInt32LittleEndian(new Span<byte>(buffer, i, 4), inst);
|
||||
BinaryPrimitives.WriteUInt32LittleEndian(new Span<byte>(buffer, i + 4, 4), fake_inst2);
|
||||
BinaryPrimitives.WriteUInt32LittleEndian(
|
||||
new Span<byte>(buffer, i + 4, 4),
|
||||
fake_inst2
|
||||
);
|
||||
}
|
||||
i += 8 - 2;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user