@@ -56,45 +56,41 @@ typedef enum __dx_instr_format_e
56
56
, DX_INSTR_FMT_22t //!< op vA, vB, +CCCC
57
57
, DX_INSTR_FMT_22s //!< op vA, vB, #+CCCC
58
58
, DX_INSTR_FMT_22c //!< op vA, vB, thing@CCCC
59
- , DX_INSTR_FMT_22cs //!< [opt] op vA, vB, field offset CCCC
59
+ , DX_INSTR_FMT_22cs //!< [opt] op vA, vB, field offset CCCC (TODO deprecated)
60
60
, DX_INSTR_FMT_30t //!< op +AAAAAAAA
61
61
, DX_INSTR_FMT_32x //!< op vAAAA, vBBBB
62
62
, DX_INSTR_FMT_31i //!< op vAA, #+BBBBBBBB
63
63
, DX_INSTR_FMT_31t //!< op vAA, +BBBBBBBB
64
64
, DX_INSTR_FMT_31c //!< op vAA, string@BBBBBBBB
65
65
, DX_INSTR_FMT_35c //!< op {vC,vD,vE,vF,vG}, thing@BBBB
66
- , DX_INSTR_FMT_35ms //!< [opt] invoke-virtual+super
66
+ , DX_INSTR_FMT_35ms //!< [opt] invoke-virtual+super (TODO deprecated)
67
67
, DX_INSTR_FMT_3rc //!< op {vCCCC .. v(CCCC+AA-1)}, thing@BBBB
68
- , DX_INSTR_FMT_3rms //!< [opt] invoke-virtual+super/range
68
+ , DX_INSTR_FMT_3rms //!< [opt] invoke-virtual+super/range (TODO deprecated)
69
69
, DX_INSTR_FMT_51l //!< op vAA, #+BBBBBBBBBBBBBBBB
70
- , DX_INSTR_FMT_35mi //!< [opt] inline invoke
71
- , DX_INSTR_FMT_3rmi //!< [opt] inline invoke/range
72
-
73
- // TODO
74
- , DX_INSTR_FMT_45cc //!< new, unknown
75
- , DX_INSTR_FMT_4rcc //!< new, unknown
70
+ , DX_INSTR_FMT_35mi //!< [opt] inline invoke (TODO deprecated)
71
+ , DX_INSTR_FMT_3rmi //!< [opt] inline invoke/range (TODO deprecated)
72
+ , DX_INSTR_FMT_45cc //!< op {vC, vD, vE, vF, vG}, meth@BBBB, proto@HHHH (A: count), format: AG op BBBB FEDC HHHH
73
+ , DX_INSTR_FMT_4rcc //!< op {VCCCC .. v(CCCC+AA-1)}, meth@BBBB, proto@HHHH (AA: count), format: AA op BBBB CCCC HHHH
76
74
77
75
}dx_instr_format_e ;
78
76
79
77
/// the types of indexed reference that are associated with opcodes
80
78
typedef enum __dx_instr_index_type_e
81
79
{
82
80
DX_INSTR_INDEX_TYPE_UNKNOWN = 0
83
- , DX_INSTR_INDEX_TYPE_NONE //!< has no index
84
- , DX_INSTR_INDEX_TYPE_VARIES //!< "It depends." Used for throw-verification-error
85
- , DX_INSTR_INDEX_TYPE_TYPE_REF //!< type reference index
86
- , DX_INSTR_INDEX_TYPE_STRING_REF //!< string reference index
87
- , DX_INSTR_INDEX_TYPE_METHOD_REF //!< method reference index
88
- , DX_INSTR_INDEX_TYPE_FIELD_REF //!< field reference index
89
- , DX_INSTR_INDEX_TYPE_INLINE_METHOD //!< inline method index (for inline linked methods)
90
- , DX_INSTR_INDEX_TYPE_VTABLE_OFFSET //!< vtable offset (for static linked methods)
91
- , DX_INSTR_INDEX_TYPE_FIELD_OFFSET //!< field offset (for static linked fields)
92
-
93
- // TODO
94
- , DX_INSTR_INDEX_TYPE_METHOD_AND_PROTO_REF
95
- , DX_INSTR_INDEX_TYPE_CALL_SITE_REF
96
- , DX_INSTR_INDEX_TYPE_METHOD_HANDLE_REF
97
- , DX_INSTR_INDEX_TYPE_PROTO_REF
81
+ , DX_INSTR_INDEX_TYPE_NONE //!< has no index
82
+ , DX_INSTR_INDEX_TYPE_VARIES //!< "It depends." Used for throw-verification-error (TODO deprecated)
83
+ , DX_INSTR_INDEX_TYPE_TYPE_REF //!< type reference index
84
+ , DX_INSTR_INDEX_TYPE_STRING_REF //!< string reference index
85
+ , DX_INSTR_INDEX_TYPE_METHOD_REF //!< method reference index
86
+ , DX_INSTR_INDEX_TYPE_FIELD_REF //!< field reference index
87
+ , DX_INSTR_INDEX_TYPE_INLINE_METHOD //!< inline method index (for inline linked methods) (TODO deprecated)
88
+ , DX_INSTR_INDEX_TYPE_VTABLE_OFFSET //!< vtable offset (for static linked methods)
89
+ , DX_INSTR_INDEX_TYPE_FIELD_OFFSET //!< field offset (for static linked fields)
90
+ , DX_INSTR_INDEX_TYPE_METHOD_AND_PROTO_REF //!< method and a proto reference index (for invoke-polymorphic)
91
+ , DX_INSTR_INDEX_TYPE_CALL_SITE_REF //!< call site reference index
92
+ , DX_INSTR_INDEX_TYPE_METHOD_HANDLE_REF //!< constant method handle reference index
93
+ , DX_INSTR_INDEX_TYPE_PROTO_REF //!< prototype reference index
98
94
99
95
}dx_instr_index_type_e ;
100
96
0 commit comments