<?xml version="1.0" encoding="utf-8"?> <!-- asmjit visualizer for Visual Studio (natvis) --> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="asmjit::String"> <Intrinsic Name="isSmall" Expression="(_type < 0x1F)"/> <DisplayString Condition="isSmall()">{_small.data, s8}</DisplayString> <DisplayString Condition="!isSmall()">{_large.data, s8}</DisplayString> <Expand HideRawView="true"> <Synthetic Name="_type"> <DisplayString Condition="(_type < 0x1F)">Small</DisplayString> <DisplayString Condition="(_type == 0x1F)">Large</DisplayString> <DisplayString Condition="(_type > 0x1F)">External</DisplayString> </Synthetic> <Item Name="_size" Condition="isSmall()" ExcludeView="simple">(int)_small.type, d</Item> <Item Name="_size" Condition="!isSmall()" ExcludeView="simple">_large.size, d</Item> <Item Name="_capacity" Condition="isSmall()" ExcludeView="simple">asmjit::String::kSSOCapacity, d</Item> <Item Name="_capacity" Condition="!isSmall()" ExcludeView="simple">_large.capacity, d</Item> <Item Name="_data" Condition="isSmall()" ExcludeView="simple">_small.data, s8</Item> <Item Name="_data" Condition="!isSmall()" ExcludeView="simple">_large.data, s8</Item> </Expand> </Type> <Type Name="asmjit::ZoneVector<*>"> <DisplayString>{{ [size={_size, d} capacity={_capacity, d}] }}</DisplayString> <Expand> <Item Name="_size" ExcludeView="simple">_size, d</Item> <Item Name="_capacity" ExcludeView="simple">_capacity, d</Item> <ArrayItems> <Size>_size</Size> <ValuePointer>(($T1*)_data)</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="asmjit::Operand_"> <Intrinsic Name="opType" Expression="(unsigned int)(_any.signature & 0x7)"/> <DisplayString Condition="opType() == 0">[None]</DisplayString> <DisplayString Condition="opType() == 1">[Reg] {{ id={_reg.id, d} group={(_reg.signature >> 8) & 0xF, d} type={(_reg.signature >> 4) & 0x1F, d} size={(_reg.signature >> 24) & 0xFF, d} }}</DisplayString> <DisplayString Condition="opType() == 2">[Mem] {{ }}</DisplayString> <DisplayString Condition="opType() == 3">[Imm] {{ val={_imm.value.i64, d} hex={_imm.value.u64, X} f64={_imm.value.f64} }}</DisplayString> <DisplayString Condition="opType() == 4">[Label] {{ id={_label.id} }}</DisplayString> <DisplayString Condition="opType() > 4">[Unknown]</DisplayString> <Expand HideRawView="true"> <ExpandedItem Condition="opType() == 0">_any</ExpandedItem> <ExpandedItem Condition="opType() == 1">_reg</ExpandedItem> <ExpandedItem Condition="opType() == 2">_mem</ExpandedItem> <ExpandedItem Condition="opType() == 3">_imm</ExpandedItem> <ExpandedItem Condition="opType() == 4">_label</ExpandedItem> <ExpandedItem Condition="opType() > 4">_any</ExpandedItem> </Expand> </Type> </AutoVisualizer>