55 references to ReadByteAt
Microsoft.Diagnostics.DataContractReader.Contracts (55)
Contracts\StackWalk\Context\AMD64\AMD64Unwinder.cs (55)
191
if ((
ReadByteAt
(nextByte) == SIZE64_PREFIX) &&
192
(
ReadByteAt
(nextByte + 1) == ADD_IMM8_OP) &&
193
(
ReadByteAt
(nextByte + 2) == 0xc4))
203
else if ((
ReadByteAt
(nextByte) == SIZE64_PREFIX) &&
204
(
ReadByteAt
(nextByte + 1) == ADD_IMM32_OP) &&
205
(
ReadByteAt
(nextByte + 2) == 0xc4))
215
else if (((
ReadByteAt
(nextByte) & 0xfe) == SIZE64_PREFIX) &&
216
(
ReadByteAt
(nextByte + 1) == LEA_OP))
218
frameRegister = (uint)(((
ReadByteAt
(nextByte) & 0x1) << 3) | (
ReadByteAt
(nextByte + 2) & 0x7));
224
if ((
ReadByteAt
(nextByte + 2) & 0xf8) == 0x60)
234
else if ((
ReadByteAt
(nextByte + 2) & 0xf8) == 0xa0)
254
if ((
ReadByteAt
(nextByte) & 0xf8) == POP_OP)
258
else if (IsRexPrefix(
ReadByteAt
(nextByte)) &&
259
((
ReadByteAt
(nextByte + 1) & 0xf8) == POP_OP))
274
if (
ReadByteAt
(nextByte) == REPNE_PREFIX)
287
if ((
ReadByteAt
(nextByte) == RET_OP) ||
288
(
ReadByteAt
(nextByte) == RET_OP_2) ||
289
((
ReadByteAt
(nextByte) == REP_PREFIX) && (
ReadByteAt
(nextByte + 1) == RET_OP)))
299
else if ((
ReadByteAt
(nextByte) == JMP_IMM8_OP) ||
300
(
ReadByteAt
(nextByte) == JMP_IMM32_OP))
309
if (
ReadByteAt
(nextByte) == JMP_IMM8_OP)
312
branchTarget += 2u + (ulong)(sbyte)
ReadByteAt
(nextByte + 1);
317
int delta =
ReadByteAt
(nextByte + 1) |
318
(
ReadByteAt
(nextByte + 2) << 8) |
319
(
ReadByteAt
(nextByte + 3) << 16) |
320
(
ReadByteAt
(nextByte + 4) << 24);
365
else if ((
ReadByteAt
(nextByte) == JMP_IND_OP) && (
ReadByteAt
(nextByte + 1) == 0x25))
376
else if (((
ReadByteAt
(nextByte) & 0xf8) == SIZE64_PREFIX) &&
377
(
ReadByteAt
(nextByte + 1) == 0xff) &&
378
(
ReadByteAt
(nextByte + 2) & 0x38) == 0x20)
408
if ((
ReadByteAt
(nextByte) & 0xf8) == SIZE64_PREFIX)
411
if (
ReadByteAt
(nextByte + 1) == ADD_IMM8_OP)
418
context.Rsp +=
ReadByteAt
(nextByte + 3);
422
else if (
ReadByteAt
(nextByte + 1) == ADD_IMM32_OP)
429
int displacement =
ReadByteAt
(nextByte + 3) |
430
(
ReadByteAt
(nextByte + 4) << 8) |
431
(
ReadByteAt
(nextByte + 5) << 16) |
432
(
ReadByteAt
(nextByte + 6) << 24);
437
else if (
ReadByteAt
(nextByte + 1) == LEA_OP)
439
if ((
ReadByteAt
(nextByte + 2) & 0xf8) == 0x60)
447
context.Rsp +=
ReadByteAt
(nextByte + 3);
451
else if ((
ReadByteAt
(nextByte + 2) & 0xf8) == 0xa0)
458
int displacement =
ReadByteAt
(nextByte + 3) |
459
(
ReadByteAt
(nextByte + 4) << 8) |
460
(
ReadByteAt
(nextByte + 5) << 16) |
461
(
ReadByteAt
(nextByte + 6) << 24);
477
if ((
ReadByteAt
(nextByte) & 0xf8) == POP_OP)
484
byte registerNumber = (byte)(
ReadByteAt
(nextByte) & 0x7);
490
else if (IsRexPrefix(
ReadByteAt
(nextByte)) &&
491
(
ReadByteAt
(nextByte + 1) & 0xf8) == POP_OP)
498
byte registerNumber = (byte)(((
ReadByteAt
(nextByte) & 1) << 3) | (
ReadByteAt
(nextByte + 1) & 0x7));