• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "copyright" : [
3    "Copyright (c) 2018 The Khronos Group Inc.",
4    "",
5    "Permission is hereby granted, free of charge, to any person obtaining a copy",
6    "of this software and/or associated documentation files (the \"Materials\"),",
7    "to deal in the Materials without restriction, including without limitation",
8    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
9    "and/or sell copies of the Materials, and to permit persons to whom the",
10    "Materials are furnished to do so, subject to the following conditions:",
11    "",
12    "The above copyright notice and this permission notice shall be included in",
13    "all copies or substantial portions of the Materials.",
14    "",
15    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
16    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
17    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
18    "",
19    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
20    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
21    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
22    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
23    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
24    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
25    "IN THE MATERIALS."
26  ],
27  "version" : 200,
28  "revision" : 2,
29  "instructions" : [
30    {
31      "opname" : "DebugInfoNone",
32      "opcode" : 0
33    },
34    {
35      "opname" : "DebugCompilationUnit",
36      "opcode" : 1,
37      "operands" : [
38        { "kind" : "LiteralInteger", "name" : "'Version'" },
39        { "kind" : "LiteralInteger", "name" : "'DWARF Version'" },
40        { "kind" : "IdRef", "name" : "'Source'" },
41        { "kind" : "SourceLanguage", "name" : "'Language'" }
42      ]
43    },
44    {
45      "opname" : "DebugTypeBasic",
46      "opcode" : 2,
47      "operands" : [
48        { "kind" : "IdRef", "name" : "'Name'" },
49        { "kind" : "IdRef", "name" : "'Size'" },
50        { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" }
51      ]
52    },
53    {
54      "opname" : "DebugTypePointer",
55      "opcode" : 3,
56      "operands" : [
57        { "kind" : "IdRef", "name" : "'Base Type'" },
58        { "kind" : "StorageClass", "name" : "'Storage Class'" },
59        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
60      ]
61    },
62    {
63      "opname" : "DebugTypeQualifier",
64      "opcode" : 4,
65      "operands" : [
66        { "kind" : "IdRef", "name" : "'Base Type'" },
67        { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" }
68      ]
69    },
70    {
71      "opname" : "DebugTypeArray",
72      "opcode" : 5,
73      "operands" : [
74        { "kind" : "IdRef", "name" : "'Base Type'" },
75        { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" }
76      ]
77    },
78    {
79      "opname" : "DebugTypeVector",
80      "opcode" : 6,
81      "operands" : [
82        { "kind" : "IdRef", "name" : "'Base Type'" },
83        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
84      ]
85    },
86    {
87      "opname" : "DebugTypedef",
88      "opcode" : 7,
89      "operands" : [
90        { "kind" : "IdRef", "name" : "'Name'" },
91        { "kind" : "IdRef", "name" : "'Base Type'" },
92        { "kind" : "IdRef", "name" : "'Source'" },
93        { "kind" : "LiteralInteger", "name" : "'Line'" },
94        { "kind" : "LiteralInteger", "name" : "'Column'" },
95        { "kind" : "IdRef", "name" : "'Parent'" }
96      ]
97    },
98    {
99      "opname" : "DebugTypeFunction",
100      "opcode" : 8,
101      "operands" : [
102        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
103        { "kind" : "IdRef", "name" : "'Return Type'" },
104        { "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" }
105      ]
106    },
107    {
108      "opname" : "DebugTypeEnum",
109      "opcode" : 9,
110      "operands" : [
111        { "kind" : "IdRef", "name" : "'Name'" },
112        { "kind" : "IdRef", "name" : "'Underlying Type'" },
113        { "kind" : "IdRef", "name" : "'Source'" },
114        { "kind" : "LiteralInteger", "name" : "'Line'" },
115        { "kind" : "LiteralInteger", "name" : "'Column'" },
116        { "kind" : "IdRef", "name" : "'Parent'" },
117        { "kind" : "IdRef", "name" : "'Size'" },
118        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
119        { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" }
120      ]
121    },
122    {
123      "opname" : "DebugTypeComposite",
124      "opcode" : 10,
125      "operands" : [
126        { "kind" : "IdRef", "name" : "'Name'" },
127        { "kind" : "DebugCompositeType", "name" : "'Tag'" },
128        { "kind" : "IdRef", "name" : "'Source'" },
129        { "kind" : "LiteralInteger", "name" : "'Line'" },
130        { "kind" : "LiteralInteger", "name" : "'Column'" },
131        { "kind" : "IdRef", "name" : "'Parent'" },
132        { "kind" : "IdRef", "name" : "'Linkage Name'" },
133        { "kind" : "IdRef", "name" : "'Size'" },
134        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
135        { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" }
136      ]
137    },
138    {
139      "opname" : "DebugTypeMember",
140      "opcode" : 11,
141      "operands" : [
142        { "kind" : "IdRef", "name" : "'Name'" },
143        { "kind" : "IdRef", "name" : "'Type'" },
144        { "kind" : "IdRef", "name" : "'Source'" },
145        { "kind" : "LiteralInteger", "name" : "'Line'" },
146        { "kind" : "LiteralInteger", "name" : "'Column'" },
147        { "kind" : "IdRef", "name" : "'Parent'" },
148        { "kind" : "IdRef", "name" : "'Offset'" },
149        { "kind" : "IdRef", "name" : "'Size'" },
150        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
151        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
152      ]
153    },
154    {
155      "opname" : "DebugTypeInheritance",
156      "opcode" : 12,
157      "operands" : [
158        { "kind" : "IdRef", "name" : "'Child'" },
159        { "kind" : "IdRef", "name" : "'Parent'" },
160        { "kind" : "IdRef", "name" : "'Offset'" },
161        { "kind" : "IdRef", "name" : "'Size'" },
162        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
163      ]
164    },
165    {
166      "opname" : "DebugTypePtrToMember",
167      "opcode" : 13,
168      "operands" : [
169        { "kind" : "IdRef", "name" : "'Member Type'" },
170        { "kind" : "IdRef", "name" : "'Parent'" }
171      ]
172    },
173    {
174      "opname" : "DebugTypeTemplate",
175      "opcode" : 14,
176      "operands" : [
177        { "kind" : "IdRef", "name" : "'Target'" },
178        { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" }
179      ]
180    },
181    {
182      "opname" : "DebugTypeTemplateParameter",
183      "opcode" : 15,
184      "operands" : [
185        { "kind" : "IdRef", "name" : "'Name'" },
186        { "kind" : "IdRef", "name" : "'Actual Type'" },
187        { "kind" : "IdRef", "name" : "'Value'" },
188        { "kind" : "IdRef", "name" : "'Source'" },
189        { "kind" : "LiteralInteger", "name" : "'Line'" },
190        { "kind" : "LiteralInteger", "name" : "'Column'" }
191      ]
192    },
193    {
194      "opname" : "DebugTypeTemplateTemplateParameter",
195      "opcode" : 16,
196      "operands" : [
197        { "kind" : "IdRef", "name" : "'Name'" },
198        { "kind" : "IdRef", "name" : "'Template Name'" },
199        { "kind" : "IdRef", "name" : "'Source'" },
200        { "kind" : "LiteralInteger", "name" : "'Line'" },
201        { "kind" : "LiteralInteger", "name" : "'Column'" }
202      ]
203    },
204    {
205      "opname" : "DebugTypeTemplateParameterPack",
206      "opcode" : 17,
207      "operands" : [
208        { "kind" : "IdRef", "name" : "'Name'" },
209        { "kind" : "IdRef", "name" : "'Source'" },
210        { "kind" : "LiteralInteger", "name" : "'Line'" },
211        { "kind" : "LiteralInteger", "name" : "'Column'" },
212        { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" }
213      ]
214    },
215    {
216      "opname" : "DebugGlobalVariable",
217      "opcode" : 18,
218      "operands" : [
219        { "kind" : "IdRef", "name" : "'Name'" },
220        { "kind" : "IdRef", "name" : "'Type'" },
221        { "kind" : "IdRef", "name" : "'Source'" },
222        { "kind" : "LiteralInteger", "name" : "'Line'" },
223        { "kind" : "LiteralInteger", "name" : "'Column'" },
224        { "kind" : "IdRef", "name" : "'Parent'" },
225        { "kind" : "IdRef", "name" : "'Linkage Name'" },
226        { "kind" : "IdRef", "name" : "'Variable'" },
227        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
228        { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" }
229      ]
230    },
231    {
232      "opname" : "DebugFunctionDeclaration",
233      "opcode" : 19,
234      "operands" : [
235        { "kind" : "IdRef", "name" : "'Name'" },
236        { "kind" : "IdRef", "name" : "'Type'" },
237        { "kind" : "IdRef", "name" : "'Source'" },
238        { "kind" : "LiteralInteger", "name" : "'Line'" },
239        { "kind" : "LiteralInteger", "name" : "'Column'" },
240        { "kind" : "IdRef", "name" : "'Parent'" },
241        { "kind" : "IdRef", "name" : "'Linkage Name'" },
242        { "kind" : "DebugInfoFlags", "name" : "'Flags'" }
243      ]
244    },
245    {
246      "opname" : "DebugFunction",
247      "opcode" : 20,
248      "operands" : [
249        { "kind" : "IdRef", "name" : "'Name'" },
250        { "kind" : "IdRef", "name" : "'Type'" },
251        { "kind" : "IdRef", "name" : "'Source'" },
252        { "kind" : "LiteralInteger", "name" : "'Line'" },
253        { "kind" : "LiteralInteger", "name" : "'Column'" },
254        { "kind" : "IdRef", "name" : "'Parent'" },
255        { "kind" : "IdRef", "name" : "'Linkage Name'" },
256        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
257        { "kind" : "LiteralInteger", "name" : "'Scope Line'" },
258        { "kind" : "IdRef", "name" : "'Function'" },
259        { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" }
260      ]
261    },
262    {
263      "opname" : "DebugLexicalBlock",
264      "opcode" : 21,
265      "operands" : [
266        { "kind" : "IdRef", "name" : "'Source'" },
267        { "kind" : "LiteralInteger", "name" : "'Line'" },
268        { "kind" : "LiteralInteger", "name" : "'Column'" },
269        { "kind" : "IdRef", "name" : "'Parent'" },
270        { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" }
271      ]
272    },
273    {
274      "opname" : "DebugLexicalBlockDiscriminator",
275      "opcode" : 22,
276      "operands" : [
277        { "kind" : "IdRef", "name" : "'Source'" },
278        { "kind" : "LiteralInteger", "name" : "'Discriminator'" },
279        { "kind" : "IdRef", "name" : "'Parent'" }
280      ]
281    },
282    {
283      "opname" : "DebugScope",
284      "opcode" : 23,
285      "operands" : [
286        { "kind" : "IdRef", "name" : "'Scope'" },
287        { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" }
288      ]
289    },
290    {
291      "opname" : "DebugNoScope",
292      "opcode" : 24
293    },
294    {
295      "opname" : "DebugInlinedAt",
296      "opcode" : 25,
297      "operands" : [
298        { "kind" : "LiteralInteger", "name" : "'Line'" },
299        { "kind" : "IdRef", "name" : "'Scope'" },
300        { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" }
301      ]
302    },
303    {
304      "opname" : "DebugLocalVariable",
305      "opcode" : 26,
306      "operands" : [
307        { "kind" : "IdRef", "name" : "'Name'" },
308        { "kind" : "IdRef", "name" : "'Type'" },
309        { "kind" : "IdRef", "name" : "'Source'" },
310        { "kind" : "LiteralInteger", "name" : "'Line'" },
311        { "kind" : "LiteralInteger", "name" : "'Column'" },
312        { "kind" : "IdRef", "name" : "'Parent'" },
313        { "kind" : "DebugInfoFlags", "name" : "'Flags'" },
314        { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" }
315      ]
316    },
317    {
318      "opname" : "DebugInlinedVariable",
319      "opcode" : 27,
320      "operands" : [
321        { "kind" : "IdRef", "name" : "'Variable'" },
322        { "kind" : "IdRef", "name" : "'Inlined'" }
323      ]
324    },
325    {
326      "opname" : "DebugDeclare",
327      "opcode" : 28,
328      "operands" : [
329        { "kind" : "IdRef", "name" : "'Local Variable'" },
330        { "kind" : "IdRef", "name" : "'Variable'" },
331        { "kind" : "IdRef", "name" : "'Expression'" }
332      ]
333    },
334    {
335      "opname" : "DebugValue",
336      "opcode" : 29,
337      "operands" : [
338        { "kind" : "IdRef", "name" : "'Local Variable'" },
339        { "kind" : "IdRef", "name" : "'Value'" },
340        { "kind" : "IdRef", "name" : "'Expression'" },
341        { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" }
342      ]
343    },
344    {
345      "opname" : "DebugOperation",
346      "opcode" : 30,
347      "operands" : [
348        { "kind" : "DebugOperation", "name" : "'OpCode'" },
349        { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" }
350      ]
351    },
352    {
353      "opname" : "DebugExpression",
354      "opcode" : 31,
355      "operands" : [
356        { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" }
357      ]
358    },
359    {
360      "opname" : "DebugMacroDef",
361      "opcode" : 32,
362      "operands" : [
363        { "kind" : "IdRef", "name" : "'Source'" },
364        { "kind" : "LiteralInteger", "name" : "'Line'" },
365        { "kind" : "IdRef", "name" : "'Name'" },
366        { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" }
367      ]
368    },
369    {
370      "opname" : "DebugMacroUndef",
371      "opcode" : 33,
372      "operands" : [
373        { "kind" : "IdRef", "name" : "'Source'" },
374        { "kind" : "LiteralInteger", "name" : "'Line'" },
375        { "kind" : "IdRef", "name" : "'Macro'" }
376      ]
377    },
378    {
379      "opname" : "DebugImportedEntity",
380      "opcode" : 34,
381      "operands" : [
382        { "kind" : "IdRef", "name" : "'Name'" },
383        { "kind" : "DebugImportedEntity", "name" : "'Tag'" },
384        { "kind" : "IdRef", "name" : "'Source'" },
385        { "kind" : "IdRef", "name" : "'Entity'" },
386        { "kind" : "LiteralInteger", "name" : "'Line'" },
387        { "kind" : "LiteralInteger", "name" : "'Column'" },
388        { "kind" : "IdRef", "name" : "'Parent'" }
389      ]
390    },
391    {
392      "opname" : "DebugSource",
393      "opcode" : 35,
394      "operands" : [
395        { "kind" : "IdRef", "name" : "'File'" },
396        { "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" }
397      ]
398    },
399    {
400      "opname" : "DebugModuleINTEL",
401      "opcode" : 36,
402      "operands" : [
403        { "kind" : "IdRef", "name" : "'Name'" },
404        { "kind" : "IdRef", "name" : "'Source'" },
405        { "kind" : "IdRef", "name" : "'Parent'" },
406        { "kind" : "LiteralInteger", "name" : "'Line'" },
407        { "kind" : "IdRef", "name" : "'ConfigurationMacros'" },
408        { "kind" : "IdRef", "name" : "'IncludePath'" },
409        { "kind" : "IdRef", "name" : "'APINotesFile'" },
410        { "kind" : "LiteralInteger", "name" : "'IsDeclaration'" }
411      ],
412      "capability" : "DebugInfoModuleINTEL"
413    }
414  ],
415  "operand_kinds" : [
416    {
417      "category" : "BitEnum",
418      "kind" : "DebugInfoFlags",
419      "enumerants" : [
420        {
421          "enumerant" : "None",
422          "value" : "0x0000"
423        },
424        {
425          "enumerant" : "FlagIsProtected",
426          "value" : "0x01"
427        },
428        {
429          "enumerant" : "FlagIsPrivate",
430          "value" : "0x02"
431        },
432        {
433          "enumerant" : "FlagIsPublic",
434          "value" : "0x03"
435        },
436        {
437          "enumerant" : "FlagIsLocal",
438          "value" : "0x04"
439        },
440        {
441          "enumerant" : "FlagIsDefinition",
442          "value" : "0x08"
443        },
444        {
445          "enumerant" : "FlagFwdDecl",
446          "value" : "0x10"
447        },
448        {
449          "enumerant" : "FlagArtificial",
450          "value" : "0x20"
451        },
452        {
453          "enumerant" : "FlagExplicit",
454          "value" : "0x40"
455        },
456        {
457          "enumerant" : "FlagPrototyped",
458          "value" : "0x80"
459        },
460        {
461          "enumerant" : "FlagObjectPointer",
462          "value" : "0x100"
463        },
464        {
465          "enumerant" : "FlagStaticMember",
466          "value" : "0x200"
467        },
468        {
469          "enumerant" : "FlagIndirectVariable",
470          "value" : "0x400"
471        },
472        {
473          "enumerant" : "FlagLValueReference",
474          "value" : "0x800"
475        },
476        {
477          "enumerant" : "FlagRValueReference",
478          "value" : "0x1000"
479        },
480        {
481          "enumerant" : "FlagIsOptimized",
482          "value" : "0x2000"
483        },
484        {
485          "enumerant" : "FlagIsEnumClass",
486          "value" : "0x4000"
487        },
488        {
489          "enumerant" : "FlagTypePassByValue",
490          "value" : "0x8000"
491        },
492        {
493          "enumerant" : "FlagTypePassByReference",
494          "value" : "0x10000"
495        }
496      ]
497    },
498    {
499      "category" : "ValueEnum",
500      "kind" : "DebugBaseTypeAttributeEncoding",
501      "enumerants" : [
502        {
503          "enumerant" : "Unspecified",
504          "value" : "0"
505        },
506        {
507          "enumerant" : "Address",
508          "value" : "1"
509        },
510        {
511          "enumerant" : "Boolean",
512          "value" : "2"
513        },
514        {
515          "enumerant" : "Float",
516          "value" : "3"
517        },
518        {
519          "enumerant" : "Signed",
520          "value" : "4"
521        },
522        {
523          "enumerant" : "SignedChar",
524          "value" : "5"
525        },
526        {
527          "enumerant" : "Unsigned",
528          "value" : "6"
529        },
530        {
531          "enumerant" : "UnsignedChar",
532          "value" : "7"
533        }
534      ]
535    },
536    {
537      "category" : "ValueEnum",
538      "kind" : "DebugCompositeType",
539      "enumerants" : [
540        {
541          "enumerant" : "Class",
542          "value" : "0"
543        },
544        {
545          "enumerant" : "Structure",
546          "value" : "1"
547        },
548        {
549          "enumerant" : "Union",
550          "value" : "2"
551        }
552      ]
553    },
554    {
555      "category" : "ValueEnum",
556      "kind" : "DebugTypeQualifier",
557      "enumerants" : [
558        {
559          "enumerant" : "ConstType",
560          "value" : "0"
561        },
562        {
563          "enumerant" : "VolatileType",
564          "value" : "1"
565        },
566        {
567          "enumerant" : "RestrictType",
568          "value" : "2"
569        },
570        {
571          "enumerant" : "AtomicType",
572          "value" : "3"
573        }
574      ]
575    },
576    {
577      "category" : "ValueEnum",
578      "kind" : "DebugOperation",
579      "enumerants" : [
580        {
581          "enumerant" : "Deref",
582          "value" : "0"
583        },
584        {
585          "enumerant" : "Plus",
586          "value" : "1"
587        },
588        {
589          "enumerant" : "Minus",
590          "value" : "2"
591        },
592        {
593          "enumerant" : "PlusUconst",
594          "value" : "3",
595          "parameters" : [
596             { "kind" : "LiteralInteger" }
597          ]
598        },
599        {
600          "enumerant" : "BitPiece",
601          "value" : "4",
602          "parameters" : [
603             { "kind" : "LiteralInteger" },
604             { "kind" : "LiteralInteger" }
605          ]
606        },
607        {
608          "enumerant" : "Swap",
609          "value" : "5"
610        },
611        {
612          "enumerant" : "Xderef",
613          "value" : "6"
614        },
615        {
616          "enumerant" : "StackValue",
617          "value" : "7"
618        },
619        {
620          "enumerant" : "Constu",
621          "value" : "8",
622          "parameters" : [
623             { "kind" : "LiteralInteger" }
624          ]
625        },
626        {
627          "enumerant" : "Fragment",
628          "value" : "9",
629          "parameters" : [
630             { "kind" : "LiteralInteger" },
631             { "kind" : "LiteralInteger" }
632          ]
633        }
634      ]
635    },
636    {
637      "category" : "ValueEnum",
638      "kind" : "DebugImportedEntity",
639      "enumerants" : [
640        {
641          "enumerant" : "ImportedModule",
642          "value" : "0"
643        },
644        {
645          "enumerant" : "ImportedDeclaration",
646          "value" : "1"
647	}
648      ]
649    }
650  ]
651}
652