Skip to content

Instantly share code, notes, and snippets.

@mateuszef
Created November 22, 2021 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mateuszef/555ebefda374c4bd3be015bd8e20ca7a to your computer and use it in GitHub Desktop.
Save mateuszef/555ebefda374c4bd3be015bd8e20ca7a to your computer and use it in GitHub Desktop.
// Method descriptor #562 (Lorg/jruby/util/ByteList;)Z
// Stack: 4, Locals: 12
public boolean parser_magic_comment(org.jruby.util.ByteList magicLine);
0 iconst_0
1 istore_2 [indicator]
2 aload_1 [magicLine]
3 invokevirtual org.jruby.util.ByteList.realSize() : int [317]
6 istore 5 [length]
8 iconst_0
9 istore 6 [str]
11 iload 5 [length]
13 bipush 7
15 if_icmpgt 20
18 iconst_0
19 ireturn
20 aload_1 [magicLine]
21 iconst_0
22 invokestatic org.jruby.lexer.LexingCommon.magicCommentMarker(org.jruby.util.ByteList, int) : int [687]
25 istore 8 [beg]
27 iload 8 [beg]
29 iflt 62
32 aload_1 [magicLine]
33 iload 8 [beg]
35 invokestatic org.jruby.lexer.LexingCommon.magicCommentMarker(org.jruby.util.ByteList, int) : int [687]
38 istore 7 [end]
40 iload 7 [end]
42 ifge 47
45 iconst_0
46 ireturn
47 iconst_1
48 istore_2 [indicator]
49 iload 8 [beg]
51 istore 6 [str]
53 iload 7 [end]
55 iload 8 [beg]
57 isub
58 iconst_3
59 isub
60 istore 5 [length]
62 iload 5 [length]
64 ifle 583
67 iload 5 [length]
69 ifle 147
72 aload_1 [magicLine]
73 iload 6 [str]
75 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
78 istore 9 [c]
80 iload 9 [c]
82 lookupswitch default: 127
case 34: 124
case 39: 124
case 58: 124
case 59: 124
124 goto 138
127 iload 9 [c]
129 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
132 ifne 138
135 goto 147
138 iinc 6 1 [str]
141 iinc 5 -1 [length]
144 goto 67
147 iload 6 [str]
149 istore 8 [beg]
151 iload 5 [length]
153 ifle 231
156 aload_1 [magicLine]
157 iload 6 [str]
159 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
162 istore 9 [c]
164 iload 9 [c]
166 lookupswitch default: 211
case 34: 208
case 39: 208
case 58: 208
case 59: 208
208 goto 231
211 iload 9 [c]
213 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
216 ifeq 222
219 goto 231
222 iinc 6 1 [str]
225 iinc 5 -1 [length]
228 goto 151
231 iload 6 [str]
233 istore 7 [end]
235 iload 5 [length]
237 ifle 261
240 aload_1 [magicLine]
241 iload 6 [str]
243 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
246 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
249 ifeq 261
252 iinc 6 1 [str]
255 iinc 5 -1 [length]
258 goto 235
261 iload 5 [length]
263 ifne 269
266 goto 583
269 aload_1 [magicLine]
270 iload 6 [str]
272 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
275 istore 9 [c]
277 iload 9 [c]
279 bipush 58
281 if_icmpeq 290
284 iload_2 [indicator]
285 ifne 62
288 iconst_0
289 ireturn
290 iinc 6 1 [str]
293 iinc 5 -1 [length]
296 iload 5 [length]
298 ifle 313
301 aload_1 [magicLine]
302 iload 6 [str]
304 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
307 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
310 ifne 290
313 iload 5 [length]
315 ifne 321
318 goto 583
321 aload_1 [magicLine]
322 iload 6 [str]
324 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
327 bipush 34
329 if_icmpne 405
332 iinc 6 1 [str]
335 iload 6 [str]
337 istore_3 [vbeg]
338 iinc 5 -1 [length]
341 iload 5 [length]
343 ifle 387
346 iload 6 [str]
348 iload 5 [length]
350 if_icmpge 387
353 aload_1 [magicLine]
354 iload 6 [str]
356 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
359 bipush 34
361 if_icmpeq 387
364 aload_1 [magicLine]
365 iload 6 [str]
367 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
370 bipush 92
372 if_icmpne 381
375 iinc 5 -1 [length]
378 iinc 6 1 [str]
381 iinc 6 1 [str]
384 goto 338
387 iload 6 [str]
389 istore 4 [vend]
391 iload 5 [length]
393 ifle 460
396 iinc 5 -1 [length]
399 iinc 6 1 [str]
402 goto 460
405 iload 6 [str]
407 istore_3 [vbeg]
408 iload 5 [length]
410 ifle 456
413 aload_1 [magicLine]
414 iload 6 [str]
416 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
419 bipush 34
421 if_icmpeq 456
424 aload_1 [magicLine]
425 iload 6 [str]
427 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
430 bipush 59
432 if_icmpeq 456
435 aload_1 [magicLine]
436 iload 6 [str]
438 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
441 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
444 ifne 456
447 iinc 5 -1 [length]
450 iinc 6 1 [str]
453 goto 408
456 iload 6 [str]
458 istore 4 [vend]
460 iload_2 [indicator]
461 ifeq 501
464 iload 5 [length]
466 ifle 534
469 aload_1 [magicLine]
470 iload 6 [str]
472 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
475 bipush 59
477 if_icmpeq 492
480 aload_1 [magicLine]
481 iload 6 [str]
483 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
486 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
489 ifeq 534
492 iinc 5 -1 [length]
495 iinc 6 1 [str]
498 goto 464
501 iload 5 [length]
503 ifle 527
506 aload_1 [magicLine]
507 iload 6 [str]
509 invokevirtual org.jruby.util.ByteList.charAt(int) : char [616]
512 invokestatic java.lang.Character.isWhitespace(char) : boolean [689]
515 ifeq 527
518 iinc 5 -1 [length]
521 iinc 6 1 [str]
524 goto 501
527 iload 5 [length]
529 ifle 534
532 iconst_0
533 ireturn
534 aload_1 [magicLine]
535 iload 8 [beg]
537 iload 7 [end]
539 invokevirtual org.jruby.util.ByteList.subSequence(int, int) : java.lang.CharSequence [693]
542 invokeinterface java.lang.CharSequence.toString() : java.lang.String [696] [nargs: 1]
547 bipush 45
549 bipush 95
551 invokevirtual java.lang.String.replace(char, char) : java.lang.String [700]
554 astore 10 [name]
556 aload_1 [magicLine]
557 iload_3 [vbeg]
558 iload 4 [vend]
560 iload_3 [vbeg]
561 isub
562 invokevirtual org.jruby.util.ByteList.makeShared(int, int) : org.jruby.util.ByteList [539]
565 astore 11 [value]
567 aload_0 [this]
568 aload 10 [name]
570 aload 11 [value]
572 invokevirtual org.jruby.lexer.LexingCommon.onMagicComment(java.lang.String, org.jruby.util.ByteList) : boolean [704]
575 ifne 580
578 iconst_0
579 ireturn
580 goto 62
583 iconst_1
584 ireturn
Line numbers:
[pc: 0, line: 997]
[pc: 2, line: 999]
[pc: 8, line: 1000]
[pc: 11, line: 1003]
[pc: 20, line: 1004]
[pc: 27, line: 1005]
[pc: 32, line: 1006]
[pc: 40, line: 1007]
[pc: 47, line: 1008]
[pc: 49, line: 1009]
[pc: 53, line: 1010]
[pc: 62, line: 1014]
[pc: 67, line: 1015]
[pc: 72, line: 1016]
[pc: 80, line: 1018]
[pc: 124, line: 1019]
[pc: 127, line: 1021]
[pc: 138, line: 1015]
[pc: 147, line: 1024]
[pc: 156, line: 1025]
[pc: 164, line: 1027]
[pc: 208, line: 1028]
[pc: 211, line: 1030]
[pc: 222, line: 1024]
[pc: 231, line: 1035]
[pc: 261, line: 1036]
[pc: 269, line: 1037]
[pc: 277, line: 1038]
[pc: 284, line: 1039]
[pc: 290, line: 1044]
[pc: 293, line: 1045]
[pc: 313, line: 1046]
[pc: 321, line: 1047]
[pc: 332, line: 1048]
[pc: 364, line: 1049]
[pc: 375, line: 1050]
[pc: 378, line: 1051]
[pc: 381, line: 1048]
[pc: 387, line: 1054]
[pc: 391, line: 1055]
[pc: 396, line: 1056]
[pc: 399, line: 1057]
[pc: 405, line: 1060]
[pc: 456, line: 1061]
[pc: 460, line: 1063]
[pc: 464, line: 1064]
[pc: 492, line: 1065]
[pc: 495, line: 1066]
[pc: 501, line: 1069]
[pc: 518, line: 1070]
[pc: 521, line: 1071]
[pc: 527, line: 1073]
[pc: 534, line: 1076]
[pc: 556, line: 1077]
[pc: 567, line: 1079]
[pc: 580, line: 1080]
[pc: 583, line: 1082]
Local variable table:
[pc: 40, pc: 62] local: end index: 7 type: int
[pc: 80, pc: 138] local: c index: 9 type: char
[pc: 164, pc: 222] local: c index: 9 type: char
[pc: 338, pc: 405] local: vbeg index: 3 type: int
[pc: 391, pc: 405] local: vend index: 4 type: int
[pc: 277, pc: 580] local: c index: 9 type: char
[pc: 556, pc: 580] local: name index: 10 type: java.lang.String
[pc: 567, pc: 580] local: value index: 11 type: org.jruby.util.ByteList
[pc: 408, pc: 583] local: vbeg index: 3 type: int
[pc: 460, pc: 583] local: vend index: 4 type: int
[pc: 235, pc: 583] local: end index: 7 type: int
[pc: 0, pc: 585] local: this index: 0 type: org.jruby.lexer.LexingCommon
[pc: 0, pc: 585] local: magicLine index: 1 type: org.jruby.util.ByteList
[pc: 2, pc: 585] local: indicator index: 2 type: boolean
[pc: 8, pc: 585] local: length index: 5 type: int
[pc: 11, pc: 585] local: str index: 6 type: int
[pc: 27, pc: 585] local: beg index: 8 type: int
Stack map table: number of frames 33
[pc: 20, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, _, _, int, int}]
[pc: 47, append: {int, int}]
[pc: 62, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, _, _, int, int, _, int}]
[pc: 67, same]
[pc: 124, append: {int}]
[pc: 127, same]
[pc: 138, chop 1 local(s)]
[pc: 147, same]
[pc: 151, same]
[pc: 208, append: {int}]
[pc: 211, same]
[pc: 222, chop 1 local(s)]
[pc: 231, same]
[pc: 235, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, _, _, int, int, int, int}]
[pc: 261, same]
[pc: 269, same]
[pc: 290, append: {int}]
[pc: 313, same]
[pc: 321, same]
[pc: 338, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, int, _, int, int, int, int, int}]
[pc: 381, same]
[pc: 387, same]
[pc: 405, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, _, _, int, int, int, int, int}]
[pc: 408, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, int, _, int, int, int, int, int}]
[pc: 456, same]
[pc: 460, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, int, int, int, int, int, int, int}]
[pc: 464, same]
[pc: 492, same]
[pc: 501, same]
[pc: 527, same]
[pc: 534, same]
[pc: 580, chop 1 local(s)]
[pc: 583, full, stack: {}, locals: {org.jruby.lexer.LexingCommon, org.jruby.util.ByteList, int, _, _, int, int, _, int}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment