Project

General

Profile

Actions

Task #12024

closed

Oracle Tool: реализовать сравнение регистров, хранящих ссылки на объекты

Added by Alexander Protsenko about 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Oracle tool
Target version:
Start date:
11/01/2022
Due date:
% Done:

100%

Estimated time:
Detected in build:
git
Published in build:

Description

Реализовать корректное сравнение особых регистров, в которых хранятся ссылки на объекты:

[OracleSimulator] Compare registers 'v0' = 0xc0080 : 'R[0]' = 0x1
[OracleSimulator] Compare registers 'v1' = 0xc0098 : 'R[1]' = 0x2
[OracleSimulator] Compare registers 'v2' = 0xc00a8 : 'R[2]' = 0x3
[TID 002b0a] D/interpreter: 7f7c3f5c91d2: ldobj v0, 0x0
[TID 002b0a] D/interpreter:      acc.pri = (i64) 3 | (f32) 4.2039e-45 | (f64) 1.4822e-323 | (hex) 3
[TID 002b0a] D/interpreter:      v0.obj = c0080
[TID 002b0a] D/interpreter:      v1.obj = c0098
[TID 002b0a] D/interpreter:      v2.obj = c00a8
[TID 002b0a] D/interpreter:      v3.pri = (i64) 3 | (f32) 4.2039e-45 | (f64) 1.4822e-323 | (hex) 3
[TID 002b0a] D/interpreter:      v4.pri = (i64) 0 | (f32) 0 | (f64) 0 | (hex) 0
[TID 002b0a] D/interpreter:      v5.pri = (i64) 0 | (f32) 0 | (f64) 0 | (hex) 0

Actions #1

Updated by Alexander Protsenko about 2 years ago

  • Status changed from New to Open

8eb252f5
Добавлена возможность указывать тип регистра для события в трассе.

Actions #2

Updated by Alexander Protsenko about 2 years ago

  • Status changed from Open to Resolved
  • % Done changed from 0 to 100

fabdf63d

По данной задаче добавлено 2 особенности работы оракула.
1. В случае, когда существуют фреймы и индекс регистра высчитывается как: фрейм*количество_регистров + индекс_регистра,
необходимо добавить параметр "frame_index_register":"FC" в опции оракула для корректного вычисления индекса.
2. Если в регистре хранится объект, то такой случай считается особым и сравнение происходит через список соответствия:

[OracleSimulator] [Object matching: Yes] Trace: 80080, Model: 1
[OracleSimulator] Compare registers 'v3' = 0x80080 : 'R[3]' = 0x1

Actions #3

Updated by Alexander Protsenko over 1 year ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF