001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 * 017 */ 018package org.apache.bcel; 019 020/** 021 * Constants for the project, mostly defined in the JVM specification. 022 * 023 * @deprecated (since 6.0) DO NOT USE - use {@link Const} instead. 024 */ 025@Deprecated 026public interface Constants { 027 028 /** 029 * Major version number of class files for Java 1.1. 030 * 031 * @see #MINOR_1_1 032 */ 033 short MAJOR_1_1 = 45; 034 035 /** 036 * Minor version number of class files for Java 1.1. 037 * 038 * @see #MAJOR_1_1 039 */ 040 short MINOR_1_1 = 3; 041 042 /** 043 * Major version number of class files for Java 1.2. 044 * 045 * @see #MINOR_1_2 046 */ 047 short MAJOR_1_2 = 46; 048 049 /** 050 * Minor version number of class files for Java 1.2. 051 * 052 * @see #MAJOR_1_2 053 */ 054 short MINOR_1_2 = 0; 055 056 /** 057 * Major version number of class files for Java 1.2. 058 * 059 * @see #MINOR_1_2 060 */ 061 short MAJOR_1_3 = 47; 062 063 /** 064 * Minor version number of class files for Java 1.3. 065 * 066 * @see #MAJOR_1_3 067 */ 068 short MINOR_1_3 = 0; 069 070 /** 071 * Major version number of class files for Java 1.3. 072 * 073 * @see #MINOR_1_3 074 */ 075 short MAJOR_1_4 = 48; 076 077 /** 078 * Minor version number of class files for Java 1.4. 079 * 080 * @see #MAJOR_1_4 081 */ 082 short MINOR_1_4 = 0; 083 084 /** 085 * Major version number of class files for Java 1.4. 086 * 087 * @see #MINOR_1_4 088 */ 089 short MAJOR_1_5 = 49; 090 091 /** 092 * Minor version number of class files for Java 1.5. 093 * 094 * @see #MAJOR_1_5 095 */ 096 short MINOR_1_5 = 0; 097 098 /** 099 * Default major version number. Class file is for Java 1.1. 100 * 101 * @see #MAJOR_1_1 102 */ 103 short MAJOR = MAJOR_1_1; 104 105 /** 106 * Default major version number. Class file is for Java 1.1. 107 * 108 * @see #MAJOR_1_1 109 */ 110 short MINOR = MINOR_1_1; 111 112 /** 113 * Maximum value for an unsigned short. 114 */ 115 int MAX_SHORT = 65535; // 2^16 - 1 116 117 /** 118 * Maximum value for an unsigned byte. 119 */ 120 int MAX_BYTE = 255; // 2^8 - 1 121 122 /** 123 * One of the access flags for fields, methods, or classes. 124 * 125 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.5"> Flag definitions for Fields 126 * in the Java Virtual Machine Specification (Java SE 8 Edition).</a> 127 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.6"> Flag definitions for Methods 128 * in the Java Virtual Machine Specification (Java SE 8 Edition).</a> 129 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.6-300-D.1-D.1"> Flag 130 * definitions for Classes in the Java Virtual Machine Specification (Java SE 8 Edition).</a> 131 */ 132 short ACC_PUBLIC = 0x0001; 133 134 /** 135 * One of the access flags for fields, methods, or classes. 136 * 137 * @see #ACC_PUBLIC 138 */ 139 short ACC_PRIVATE = 0x0002; 140 141 /** 142 * One of the access flags for fields, methods, or classes. 143 * 144 * @see #ACC_PUBLIC 145 */ 146 short ACC_PROTECTED = 0x0004; 147 148 /** 149 * One of the access flags for fields, methods, or classes. 150 * 151 * @see #ACC_PUBLIC 152 */ 153 short ACC_STATIC = 0x0008; 154 155 /** 156 * One of the access flags for fields, methods, or classes. 157 * 158 * @see #ACC_PUBLIC 159 */ 160 short ACC_FINAL = 0x0010; 161 162 /** 163 * One of the access flags for fields, methods, or classes. 164 * 165 * @see #ACC_PUBLIC 166 */ 167 short ACC_SYNCHRONIZED = 0x0020; 168 169 /** 170 * One of the access flags for fields, methods, or classes. 171 * 172 * @see #ACC_PUBLIC 173 */ 174 short ACC_VOLATILE = 0x0040; 175 176 /** 177 * One of the access flags for fields, methods, or classes. 178 * 179 * @see #ACC_PUBLIC 180 */ 181 short ACC_BRIDGE = 0x0040; 182 183 /** 184 * One of the access flags for fields, methods, or classes. 185 * 186 * @see #ACC_PUBLIC 187 */ 188 short ACC_TRANSIENT = 0x0080; 189 190 /** 191 * One of the access flags for fields, methods, or classes. 192 * 193 * @see #ACC_PUBLIC 194 */ 195 short ACC_VARARGS = 0x0080; 196 197 /** 198 * One of the access flags for fields, methods, or classes. 199 * 200 * @see #ACC_PUBLIC 201 */ 202 short ACC_NATIVE = 0x0100; 203 204 /** 205 * One of the access flags for fields, methods, or classes. 206 * 207 * @see #ACC_PUBLIC 208 */ 209 short ACC_INTERFACE = 0x0200; 210 211 /** 212 * One of the access flags for fields, methods, or classes. 213 * 214 * @see #ACC_PUBLIC 215 */ 216 short ACC_ABSTRACT = 0x0400; 217 218 /** 219 * One of the access flags for fields, methods, or classes. 220 * 221 * @see #ACC_PUBLIC 222 */ 223 short ACC_STRICT = 0x0800; 224 225 /** 226 * One of the access flags for fields, methods, or classes. 227 * 228 * @see #ACC_PUBLIC 229 */ 230 short ACC_SYNTHETIC = 0x1000; 231 232 /** 233 * One of the access flags for fields, methods, or classes. 234 * 235 * @see #ACC_PUBLIC 236 */ 237 short ACC_ANNOTATION = 0x2000; 238 239 /** 240 * One of the access flags for fields, methods, or classes. 241 * 242 * @see #ACC_PUBLIC 243 */ 244 short ACC_ENUM = 0x4000; 245 246 // Applies to classes compiled by new compilers only 247 /** 248 * One of the access flags for fields, methods, or classes. 249 * 250 * @see #ACC_PUBLIC 251 */ 252 short ACC_SUPER = 0x0020; 253 254 /** 255 * One of the access flags for fields, methods, or classes. 256 * 257 * @see #ACC_PUBLIC 258 */ 259 short MAX_ACC_FLAG = ACC_ENUM; 260 261 /** The names of the access flags. */ 262 String[] ACCESS_NAMES = {"public", "private", "protected", "static", "final", "synchronized", "volatile", "transient", "native", "interface", "abstract", 263 "strictfp", "synthetic", "annotation", "enum"}; 264 265 /** Marks a constant pool entry as type UTF-8. */ 266 byte CONSTANT_Utf8 = 1; 267 268 /** Marks a constant pool entry as type Integer. */ 269 byte CONSTANT_Integer = 3; 270 271 /** Marks a constant pool entry as type Float. */ 272 byte CONSTANT_Float = 4; 273 274 /** Marks a constant pool entry as type Long. */ 275 byte CONSTANT_Long = 5; 276 277 /** Marks a constant pool entry as type Double. */ 278 byte CONSTANT_Double = 6; 279 280 /** Marks a constant pool entry as a Class. */ 281 byte CONSTANT_Class = 7; 282 283 /** Marks a constant pool entry as a Field Reference. */ 284 byte CONSTANT_Fieldref = 9; 285 286 /** Marks a constant pool entry as type String. */ 287 byte CONSTANT_String = 8; 288 289 /** Marks a constant pool entry as a Method Reference. */ 290 byte CONSTANT_Methodref = 10; 291 292 /** Marks a constant pool entry as an Interface Method Reference. */ 293 byte CONSTANT_InterfaceMethodref = 11; 294 295 /** Marks a constant pool entry as a name and type. */ 296 byte CONSTANT_NameAndType = 12; 297 298 /** The names of the types of entries in a constant pool. */ 299 String[] CONSTANT_NAMES = {"", "CONSTANT_Utf8", "", "CONSTANT_Integer", "CONSTANT_Float", "CONSTANT_Long", "CONSTANT_Double", "CONSTANT_Class", 300 "CONSTANT_String", "CONSTANT_Fieldref", "CONSTANT_Methodref", "CONSTANT_InterfaceMethodref", "CONSTANT_NameAndType"}; 301 302 /** 303 * The name of the static initializer, also called "class initialization method" or "interface 304 * initialization method". This is "<clinit>". 305 */ 306 String STATIC_INITIALIZER_NAME = "<clinit>"; 307 308 /** 309 * The name of every constructor method in a class, also called "instance initialization method". This is 310 * "<init>". 311 */ 312 String CONSTRUCTOR_NAME = "<init>"; 313 314 /** The names of the interfaces implemented by arrays */ 315 String[] INTERFACES_IMPLEMENTED_BY_ARRAYS = {"java.lang.Cloneable", "java.io.Serializable"}; 316 317 /** 318 * One of the limitations of the Java Virtual Machine. 319 * 320 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine 321 * Specification, Second Edition, page 152, chapter 4.10.</a> 322 */ 323 int MAX_CP_ENTRIES = 65535; 324 325 /** 326 * One of the limitations of the Java Virtual Machine. 327 * 328 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11"> The Java Virtual Machine 329 * Specification, Second Edition, page 152, chapter 4.10.</a> 330 */ 331 int MAX_CODE_SIZE = 65536; // bytes 332 333 /** 334 * Java VM opcode. 335 * 336 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 337 * Java Virtual Machine Specification</a> 338 */ 339 short NOP = 0; 340 341 /** 342 * Java VM opcode. 343 * 344 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 345 * Java Virtual Machine Specification</a> 346 */ 347 short ACONST_NULL = 1; 348 349 /** 350 * Java VM opcode. 351 * 352 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 353 * Java Virtual Machine Specification</a> 354 */ 355 short ICONST_M1 = 2; 356 357 /** 358 * Java VM opcode. 359 * 360 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 361 * Java Virtual Machine Specification</a> 362 */ 363 short ICONST_0 = 3; 364 365 /** 366 * Java VM opcode. 367 * 368 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 369 * Java Virtual Machine Specification</a> 370 */ 371 short ICONST_1 = 4; 372 373 /** 374 * Java VM opcode. 375 * 376 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 377 * Java Virtual Machine Specification</a> 378 */ 379 short ICONST_2 = 5; 380 381 /** 382 * Java VM opcode. 383 * 384 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 385 * Java Virtual Machine Specification</a> 386 */ 387 short ICONST_3 = 6; 388 389 /** 390 * Java VM opcode. 391 * 392 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 393 * Java Virtual Machine Specification</a> 394 */ 395 short ICONST_4 = 7; 396 397 /** 398 * Java VM opcode. 399 * 400 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 401 * Java Virtual Machine Specification</a> 402 */ 403 short ICONST_5 = 8; 404 405 /** 406 * Java VM opcode. 407 * 408 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 409 * Java Virtual Machine Specification</a> 410 */ 411 short LCONST_0 = 9; 412 413 /** 414 * Java VM opcode. 415 * 416 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 417 * Java Virtual Machine Specification</a> 418 */ 419 short LCONST_1 = 10; 420 421 /** 422 * Java VM opcode. 423 * 424 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 425 * Java Virtual Machine Specification</a> 426 */ 427 short FCONST_0 = 11; 428 429 /** 430 * Java VM opcode. 431 * 432 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 433 * Java Virtual Machine Specification</a> 434 */ 435 short FCONST_1 = 12; 436 437 /** 438 * Java VM opcode. 439 * 440 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 441 * Java Virtual Machine Specification</a> 442 */ 443 short FCONST_2 = 13; 444 445 /** 446 * Java VM opcode. 447 * 448 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 449 * Java Virtual Machine Specification</a> 450 */ 451 short DCONST_0 = 14; 452 453 /** 454 * Java VM opcode. 455 * 456 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 457 * Java Virtual Machine Specification</a> 458 */ 459 short DCONST_1 = 15; 460 461 /** 462 * Java VM opcode. 463 * 464 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 465 * Java Virtual Machine Specification</a> 466 */ 467 short BIPUSH = 16; 468 469 /** 470 * Java VM opcode. 471 * 472 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 473 * Java Virtual Machine Specification</a> 474 */ 475 short SIPUSH = 17; 476 477 /** 478 * Java VM opcode. 479 * 480 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 481 * Java Virtual Machine Specification</a> 482 */ 483 short LDC = 18; 484 485 /** 486 * Java VM opcode. 487 * 488 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 489 * Java Virtual Machine Specification</a> 490 */ 491 short LDC_W = 19; 492 493 /** 494 * Java VM opcode. 495 * 496 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 497 * Java Virtual Machine Specification</a> 498 */ 499 short LDC2_W = 20; 500 501 /** 502 * Java VM opcode. 503 * 504 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 505 * Java Virtual Machine Specification</a> 506 */ 507 short ILOAD = 21; 508 509 /** 510 * Java VM opcode. 511 * 512 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 513 * Java Virtual Machine Specification</a> 514 */ 515 short LLOAD = 22; 516 517 /** 518 * Java VM opcode. 519 * 520 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 521 * Java Virtual Machine Specification</a> 522 */ 523 short FLOAD = 23; 524 525 /** 526 * Java VM opcode. 527 * 528 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 529 * Java Virtual Machine Specification</a> 530 */ 531 short DLOAD = 24; 532 533 /** 534 * Java VM opcode. 535 * 536 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 537 * Java Virtual Machine Specification</a> 538 */ 539 short ALOAD = 25; 540 541 /** 542 * Java VM opcode. 543 * 544 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 545 * Java Virtual Machine Specification</a> 546 */ 547 short ILOAD_0 = 26; 548 549 /** 550 * Java VM opcode. 551 * 552 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 553 * Java Virtual Machine Specification</a> 554 */ 555 short ILOAD_1 = 27; 556 557 /** 558 * Java VM opcode. 559 * 560 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 561 * Java Virtual Machine Specification</a> 562 */ 563 short ILOAD_2 = 28; 564 565 /** 566 * Java VM opcode. 567 * 568 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 569 * Java Virtual Machine Specification</a> 570 */ 571 short ILOAD_3 = 29; 572 573 /** 574 * Java VM opcode. 575 * 576 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 577 * Java Virtual Machine Specification</a> 578 */ 579 short LLOAD_0 = 30; 580 581 /** 582 * Java VM opcode. 583 * 584 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 585 * Java Virtual Machine Specification</a> 586 */ 587 short LLOAD_1 = 31; 588 589 /** 590 * Java VM opcode. 591 * 592 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 593 * Java Virtual Machine Specification</a> 594 */ 595 short LLOAD_2 = 32; 596 597 /** 598 * Java VM opcode. 599 * 600 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 601 * Java Virtual Machine Specification</a> 602 */ 603 short LLOAD_3 = 33; 604 605 /** 606 * Java VM opcode. 607 * 608 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 609 * Java Virtual Machine Specification</a> 610 */ 611 short FLOAD_0 = 34; 612 613 /** 614 * Java VM opcode. 615 * 616 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 617 * Java Virtual Machine Specification</a> 618 */ 619 short FLOAD_1 = 35; 620 621 /** 622 * Java VM opcode. 623 * 624 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 625 * Java Virtual Machine Specification</a> 626 */ 627 short FLOAD_2 = 36; 628 629 /** 630 * Java VM opcode. 631 * 632 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 633 * Java Virtual Machine Specification</a> 634 */ 635 short FLOAD_3 = 37; 636 637 /** 638 * Java VM opcode. 639 * 640 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 641 * Java Virtual Machine Specification</a> 642 */ 643 short DLOAD_0 = 38; 644 645 /** 646 * Java VM opcode. 647 * 648 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 649 * Java Virtual Machine Specification</a> 650 */ 651 short DLOAD_1 = 39; 652 653 /** 654 * Java VM opcode. 655 * 656 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 657 * Java Virtual Machine Specification</a> 658 */ 659 short DLOAD_2 = 40; 660 661 /** 662 * Java VM opcode. 663 * 664 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 665 * Java Virtual Machine Specification</a> 666 */ 667 short DLOAD_3 = 41; 668 669 /** 670 * Java VM opcode. 671 * 672 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 673 * Java Virtual Machine Specification</a> 674 */ 675 short ALOAD_0 = 42; 676 677 /** 678 * Java VM opcode. 679 * 680 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 681 * Java Virtual Machine Specification</a> 682 */ 683 short ALOAD_1 = 43; 684 685 /** 686 * Java VM opcode. 687 * 688 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 689 * Java Virtual Machine Specification</a> 690 */ 691 short ALOAD_2 = 44; 692 693 /** 694 * Java VM opcode. 695 * 696 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 697 * Java Virtual Machine Specification</a> 698 */ 699 short ALOAD_3 = 45; 700 701 /** 702 * Java VM opcode. 703 * 704 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 705 * Java Virtual Machine Specification</a> 706 */ 707 short IALOAD = 46; 708 709 /** 710 * Java VM opcode. 711 * 712 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 713 * Java Virtual Machine Specification</a> 714 */ 715 short LALOAD = 47; 716 717 /** 718 * Java VM opcode. 719 * 720 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 721 * Java Virtual Machine Specification</a> 722 */ 723 short FALOAD = 48; 724 725 /** 726 * Java VM opcode. 727 * 728 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 729 * Java Virtual Machine Specification</a> 730 */ 731 short DALOAD = 49; 732 733 /** 734 * Java VM opcode. 735 * 736 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 737 * Java Virtual Machine Specification</a> 738 */ 739 short AALOAD = 50; 740 741 /** 742 * Java VM opcode. 743 * 744 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 745 * Java Virtual Machine Specification</a> 746 */ 747 short BALOAD = 51; 748 749 /** 750 * Java VM opcode. 751 * 752 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 753 * Java Virtual Machine Specification</a> 754 */ 755 short CALOAD = 52; 756 757 /** 758 * Java VM opcode. 759 * 760 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 761 * Java Virtual Machine Specification</a> 762 */ 763 short SALOAD = 53; 764 765 /** 766 * Java VM opcode. 767 * 768 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 769 * Java Virtual Machine Specification</a> 770 */ 771 short ISTORE = 54; 772 773 /** 774 * Java VM opcode. 775 * 776 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 777 * Java Virtual Machine Specification</a> 778 */ 779 short LSTORE = 55; 780 781 /** 782 * Java VM opcode. 783 * 784 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 785 * Java Virtual Machine Specification</a> 786 */ 787 short FSTORE = 56; 788 789 /** 790 * Java VM opcode. 791 * 792 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 793 * Java Virtual Machine Specification</a> 794 */ 795 short DSTORE = 57; 796 797 /** 798 * Java VM opcode. 799 * 800 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 801 * Java Virtual Machine Specification</a> 802 */ 803 short ASTORE = 58; 804 805 /** 806 * Java VM opcode. 807 * 808 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 809 * Java Virtual Machine Specification</a> 810 */ 811 short ISTORE_0 = 59; 812 813 /** 814 * Java VM opcode. 815 * 816 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 817 * Java Virtual Machine Specification</a> 818 */ 819 short ISTORE_1 = 60; 820 821 /** 822 * Java VM opcode. 823 * 824 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 825 * Java Virtual Machine Specification</a> 826 */ 827 short ISTORE_2 = 61; 828 829 /** 830 * Java VM opcode. 831 * 832 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 833 * Java Virtual Machine Specification</a> 834 */ 835 short ISTORE_3 = 62; 836 837 /** 838 * Java VM opcode. 839 * 840 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 841 * Java Virtual Machine Specification</a> 842 */ 843 short LSTORE_0 = 63; 844 845 /** 846 * Java VM opcode. 847 * 848 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 849 * Java Virtual Machine Specification</a> 850 */ 851 short LSTORE_1 = 64; 852 853 /** 854 * Java VM opcode. 855 * 856 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 857 * Java Virtual Machine Specification</a> 858 */ 859 short LSTORE_2 = 65; 860 861 /** 862 * Java VM opcode. 863 * 864 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 865 * Java Virtual Machine Specification</a> 866 */ 867 short LSTORE_3 = 66; 868 869 /** 870 * Java VM opcode. 871 * 872 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 873 * Java Virtual Machine Specification</a> 874 */ 875 short FSTORE_0 = 67; 876 877 /** 878 * Java VM opcode. 879 * 880 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 881 * Java Virtual Machine Specification</a> 882 */ 883 short FSTORE_1 = 68; 884 885 /** 886 * Java VM opcode. 887 * 888 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 889 * Java Virtual Machine Specification</a> 890 */ 891 short FSTORE_2 = 69; 892 893 /** 894 * Java VM opcode. 895 * 896 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 897 * Java Virtual Machine Specification</a> 898 */ 899 short FSTORE_3 = 70; 900 901 /** 902 * Java VM opcode. 903 * 904 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 905 * Java Virtual Machine Specification</a> 906 */ 907 short DSTORE_0 = 71; 908 909 /** 910 * Java VM opcode. 911 * 912 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 913 * Java Virtual Machine Specification</a> 914 */ 915 short DSTORE_1 = 72; 916 917 /** 918 * Java VM opcode. 919 * 920 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 921 * Java Virtual Machine Specification</a> 922 */ 923 short DSTORE_2 = 73; 924 925 /** 926 * Java VM opcode. 927 * 928 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 929 * Java Virtual Machine Specification</a> 930 */ 931 short DSTORE_3 = 74; 932 933 /** 934 * Java VM opcode. 935 * 936 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 937 * Java Virtual Machine Specification</a> 938 */ 939 short ASTORE_0 = 75; 940 941 /** 942 * Java VM opcode. 943 * 944 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 945 * Java Virtual Machine Specification</a> 946 */ 947 short ASTORE_1 = 76; 948 949 /** 950 * Java VM opcode. 951 * 952 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 953 * Java Virtual Machine Specification</a> 954 */ 955 short ASTORE_2 = 77; 956 957 /** 958 * Java VM opcode. 959 * 960 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 961 * Java Virtual Machine Specification</a> 962 */ 963 short ASTORE_3 = 78; 964 965 /** 966 * Java VM opcode. 967 * 968 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 969 * Java Virtual Machine Specification</a> 970 */ 971 short IASTORE = 79; 972 973 /** 974 * Java VM opcode. 975 * 976 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 977 * Java Virtual Machine Specification</a> 978 */ 979 short LASTORE = 80; 980 981 /** 982 * Java VM opcode. 983 * 984 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 985 * Java Virtual Machine Specification</a> 986 */ 987 short FASTORE = 81; 988 989 /** 990 * Java VM opcode. 991 * 992 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 993 * Java Virtual Machine Specification</a> 994 */ 995 short DASTORE = 82; 996 997 /** 998 * Java VM opcode. 999 * 1000 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1001 * Java Virtual Machine Specification</a> 1002 */ 1003 short AASTORE = 83; 1004 1005 /** 1006 * Java VM opcode. 1007 * 1008 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1009 * Java Virtual Machine Specification</a> 1010 */ 1011 short BASTORE = 84; 1012 1013 /** 1014 * Java VM opcode. 1015 * 1016 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1017 * Java Virtual Machine Specification</a> 1018 */ 1019 short CASTORE = 85; 1020 1021 /** 1022 * Java VM opcode. 1023 * 1024 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1025 * Java Virtual Machine Specification</a> 1026 */ 1027 short SASTORE = 86; 1028 1029 /** 1030 * Java VM opcode. 1031 * 1032 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1033 * Java Virtual Machine Specification</a> 1034 */ 1035 short POP = 87; 1036 1037 /** 1038 * Java VM opcode. 1039 * 1040 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1041 * Java Virtual Machine Specification</a> 1042 */ 1043 short POP2 = 88; 1044 1045 /** 1046 * Java VM opcode. 1047 * 1048 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1049 * Java Virtual Machine Specification</a> 1050 */ 1051 short DUP = 89; 1052 1053 /** 1054 * Java VM opcode. 1055 * 1056 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1057 * Java Virtual Machine Specification</a> 1058 */ 1059 short DUP_X1 = 90; 1060 1061 /** 1062 * Java VM opcode. 1063 * 1064 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1065 * Java Virtual Machine Specification</a> 1066 */ 1067 short DUP_X2 = 91; 1068 1069 /** 1070 * Java VM opcode. 1071 * 1072 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1073 * Java Virtual Machine Specification</a> 1074 */ 1075 short DUP2 = 92; 1076 1077 /** 1078 * Java VM opcode. 1079 * 1080 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1081 * Java Virtual Machine Specification</a> 1082 */ 1083 short DUP2_X1 = 93; 1084 1085 /** 1086 * Java VM opcode. 1087 * 1088 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1089 * Java Virtual Machine Specification</a> 1090 */ 1091 short DUP2_X2 = 94; 1092 1093 /** 1094 * Java VM opcode. 1095 * 1096 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1097 * Java Virtual Machine Specification</a> 1098 */ 1099 short SWAP = 95; 1100 1101 /** 1102 * Java VM opcode. 1103 * 1104 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1105 * Java Virtual Machine Specification</a> 1106 */ 1107 short IADD = 96; 1108 1109 /** 1110 * Java VM opcode. 1111 * 1112 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1113 * Java Virtual Machine Specification</a> 1114 */ 1115 short LADD = 97; 1116 1117 /** 1118 * Java VM opcode. 1119 * 1120 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1121 * Java Virtual Machine Specification</a> 1122 */ 1123 short FADD = 98; 1124 1125 /** 1126 * Java VM opcode. 1127 * 1128 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1129 * Java Virtual Machine Specification</a> 1130 */ 1131 short DADD = 99; 1132 1133 /** 1134 * Java VM opcode. 1135 * 1136 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1137 * Java Virtual Machine Specification</a> 1138 */ 1139 short ISUB = 100; 1140 1141 /** 1142 * Java VM opcode. 1143 * 1144 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1145 * Java Virtual Machine Specification</a> 1146 */ 1147 short LSUB = 101; 1148 1149 /** 1150 * Java VM opcode. 1151 * 1152 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1153 * Java Virtual Machine Specification</a> 1154 */ 1155 short FSUB = 102; 1156 1157 /** 1158 * Java VM opcode. 1159 * 1160 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1161 * Java Virtual Machine Specification</a> 1162 */ 1163 short DSUB = 103; 1164 1165 /** 1166 * Java VM opcode. 1167 * 1168 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1169 * Java Virtual Machine Specification</a> 1170 */ 1171 short IMUL = 104; 1172 1173 /** 1174 * Java VM opcode. 1175 * 1176 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1177 * Java Virtual Machine Specification</a> 1178 */ 1179 short LMUL = 105; 1180 1181 /** 1182 * Java VM opcode. 1183 * 1184 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1185 * Java Virtual Machine Specification</a> 1186 */ 1187 short FMUL = 106; 1188 1189 /** 1190 * Java VM opcode. 1191 * 1192 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1193 * Java Virtual Machine Specification</a> 1194 */ 1195 short DMUL = 107; 1196 1197 /** 1198 * Java VM opcode. 1199 * 1200 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1201 * Java Virtual Machine Specification</a> 1202 */ 1203 short IDIV = 108; 1204 1205 /** 1206 * Java VM opcode. 1207 * 1208 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1209 * Java Virtual Machine Specification</a> 1210 */ 1211 short LDIV = 109; 1212 1213 /** 1214 * Java VM opcode. 1215 * 1216 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1217 * Java Virtual Machine Specification</a> 1218 */ 1219 short FDIV = 110; 1220 1221 /** 1222 * Java VM opcode. 1223 * 1224 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1225 * Java Virtual Machine Specification</a> 1226 */ 1227 short DDIV = 111; 1228 1229 /** 1230 * Java VM opcode. 1231 * 1232 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1233 * Java Virtual Machine Specification</a> 1234 */ 1235 short IREM = 112; 1236 1237 /** 1238 * Java VM opcode. 1239 * 1240 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1241 * Java Virtual Machine Specification</a> 1242 */ 1243 short LREM = 113; 1244 1245 /** 1246 * Java VM opcode. 1247 * 1248 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1249 * Java Virtual Machine Specification</a> 1250 */ 1251 short FREM = 114; 1252 1253 /** 1254 * Java VM opcode. 1255 * 1256 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1257 * Java Virtual Machine Specification</a> 1258 */ 1259 short DREM = 115; 1260 1261 /** 1262 * Java VM opcode. 1263 * 1264 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1265 * Java Virtual Machine Specification</a> 1266 */ 1267 short INEG = 116; 1268 1269 /** 1270 * Java VM opcode. 1271 * 1272 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1273 * Java Virtual Machine Specification</a> 1274 */ 1275 short LNEG = 117; 1276 1277 /** 1278 * Java VM opcode. 1279 * 1280 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1281 * Java Virtual Machine Specification</a> 1282 */ 1283 short FNEG = 118; 1284 1285 /** 1286 * Java VM opcode. 1287 * 1288 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1289 * Java Virtual Machine Specification</a> 1290 */ 1291 short DNEG = 119; 1292 1293 /** 1294 * Java VM opcode. 1295 * 1296 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1297 * Java Virtual Machine Specification</a> 1298 */ 1299 short ISHL = 120; 1300 1301 /** 1302 * Java VM opcode. 1303 * 1304 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1305 * Java Virtual Machine Specification</a> 1306 */ 1307 short LSHL = 121; 1308 1309 /** 1310 * Java VM opcode. 1311 * 1312 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1313 * Java Virtual Machine Specification</a> 1314 */ 1315 short ISHR = 122; 1316 1317 /** 1318 * Java VM opcode. 1319 * 1320 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1321 * Java Virtual Machine Specification</a> 1322 */ 1323 short LSHR = 123; 1324 1325 /** 1326 * Java VM opcode. 1327 * 1328 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1329 * Java Virtual Machine Specification</a> 1330 */ 1331 short IUSHR = 124; 1332 1333 /** 1334 * Java VM opcode. 1335 * 1336 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1337 * Java Virtual Machine Specification</a> 1338 */ 1339 short LUSHR = 125; 1340 1341 /** 1342 * Java VM opcode. 1343 * 1344 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1345 * Java Virtual Machine Specification</a> 1346 */ 1347 short IAND = 126; 1348 1349 /** 1350 * Java VM opcode. 1351 * 1352 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1353 * Java Virtual Machine Specification</a> 1354 */ 1355 short LAND = 127; 1356 1357 /** 1358 * Java VM opcode. 1359 * 1360 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1361 * Java Virtual Machine Specification</a> 1362 */ 1363 short IOR = 128; 1364 1365 /** 1366 * Java VM opcode. 1367 * 1368 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1369 * Java Virtual Machine Specification</a> 1370 */ 1371 short LOR = 129; 1372 1373 /** 1374 * Java VM opcode. 1375 * 1376 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1377 * Java Virtual Machine Specification</a> 1378 */ 1379 short IXOR = 130; 1380 1381 /** 1382 * Java VM opcode. 1383 * 1384 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1385 * Java Virtual Machine Specification</a> 1386 */ 1387 short LXOR = 131; 1388 1389 /** 1390 * Java VM opcode. 1391 * 1392 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1393 * Java Virtual Machine Specification</a> 1394 */ 1395 short IINC = 132; 1396 1397 /** 1398 * Java VM opcode. 1399 * 1400 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1401 * Java Virtual Machine Specification</a> 1402 */ 1403 short I2L = 133; 1404 1405 /** 1406 * Java VM opcode. 1407 * 1408 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1409 * Java Virtual Machine Specification</a> 1410 */ 1411 short I2F = 134; 1412 1413 /** 1414 * Java VM opcode. 1415 * 1416 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1417 * Java Virtual Machine Specification</a> 1418 */ 1419 short I2D = 135; 1420 1421 /** 1422 * Java VM opcode. 1423 * 1424 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1425 * Java Virtual Machine Specification</a> 1426 */ 1427 short L2I = 136; 1428 1429 /** 1430 * Java VM opcode. 1431 * 1432 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1433 * Java Virtual Machine Specification</a> 1434 */ 1435 short L2F = 137; 1436 1437 /** 1438 * Java VM opcode. 1439 * 1440 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1441 * Java Virtual Machine Specification</a> 1442 */ 1443 short L2D = 138; 1444 1445 /** 1446 * Java VM opcode. 1447 * 1448 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1449 * Java Virtual Machine Specification</a> 1450 */ 1451 short F2I = 139; 1452 1453 /** 1454 * Java VM opcode. 1455 * 1456 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1457 * Java Virtual Machine Specification</a> 1458 */ 1459 short F2L = 140; 1460 1461 /** 1462 * Java VM opcode. 1463 * 1464 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1465 * Java Virtual Machine Specification</a> 1466 */ 1467 short F2D = 141; 1468 1469 /** 1470 * Java VM opcode. 1471 * 1472 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1473 * Java Virtual Machine Specification</a> 1474 */ 1475 short D2I = 142; 1476 1477 /** 1478 * Java VM opcode. 1479 * 1480 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1481 * Java Virtual Machine Specification</a> 1482 */ 1483 short D2L = 143; 1484 1485 /** 1486 * Java VM opcode. 1487 * 1488 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1489 * Java Virtual Machine Specification</a> 1490 */ 1491 short D2F = 144; 1492 1493 /** 1494 * Java VM opcode. 1495 * 1496 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1497 * Java Virtual Machine Specification</a> 1498 */ 1499 short I2B = 145; 1500 1501 /** 1502 * Java VM opcode. 1503 * 1504 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1505 * Java Virtual Machine Specification</a> 1506 */ 1507 short INT2BYTE = 145; // Old notion 1508 1509 /** 1510 * Java VM opcode. 1511 * 1512 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1513 * Java Virtual Machine Specification</a> 1514 */ 1515 short I2C = 146; 1516 1517 /** 1518 * Java VM opcode. 1519 * 1520 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1521 * Java Virtual Machine Specification</a> 1522 */ 1523 short INT2CHAR = 146; // Old notion 1524 1525 /** 1526 * Java VM opcode. 1527 * 1528 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1529 * Java Virtual Machine Specification</a> 1530 */ 1531 short I2S = 147; 1532 1533 /** 1534 * Java VM opcode. 1535 * 1536 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1537 * Java Virtual Machine Specification</a> 1538 */ 1539 short INT2SHORT = 147; // Old notion 1540 1541 /** 1542 * Java VM opcode. 1543 * 1544 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1545 * Java Virtual Machine Specification</a> 1546 */ 1547 short LCMP = 148; 1548 1549 /** 1550 * Java VM opcode. 1551 * 1552 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1553 * Java Virtual Machine Specification</a> 1554 */ 1555 short FCMPL = 149; 1556 1557 /** 1558 * Java VM opcode. 1559 * 1560 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1561 * Java Virtual Machine Specification</a> 1562 */ 1563 short FCMPG = 150; 1564 1565 /** 1566 * Java VM opcode. 1567 * 1568 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1569 * Java Virtual Machine Specification</a> 1570 */ 1571 short DCMPL = 151; 1572 1573 /** 1574 * Java VM opcode. 1575 * 1576 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1577 * Java Virtual Machine Specification</a> 1578 */ 1579 short DCMPG = 152; 1580 1581 /** 1582 * Java VM opcode. 1583 * 1584 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1585 * Java Virtual Machine Specification</a> 1586 */ 1587 short IFEQ = 153; 1588 1589 /** 1590 * Java VM opcode. 1591 * 1592 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1593 * Java Virtual Machine Specification</a> 1594 */ 1595 short IFNE = 154; 1596 1597 /** 1598 * Java VM opcode. 1599 * 1600 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1601 * Java Virtual Machine Specification</a> 1602 */ 1603 short IFLT = 155; 1604 1605 /** 1606 * Java VM opcode. 1607 * 1608 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1609 * Java Virtual Machine Specification</a> 1610 */ 1611 short IFGE = 156; 1612 1613 /** 1614 * Java VM opcode. 1615 * 1616 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1617 * Java Virtual Machine Specification</a> 1618 */ 1619 short IFGT = 157; 1620 1621 /** 1622 * Java VM opcode. 1623 * 1624 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1625 * Java Virtual Machine Specification</a> 1626 */ 1627 short IFLE = 158; 1628 1629 /** 1630 * Java VM opcode. 1631 * 1632 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1633 * Java Virtual Machine Specification</a> 1634 */ 1635 short IF_ICMPEQ = 159; 1636 1637 /** 1638 * Java VM opcode. 1639 * 1640 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1641 * Java Virtual Machine Specification</a> 1642 */ 1643 short IF_ICMPNE = 160; 1644 1645 /** 1646 * Java VM opcode. 1647 * 1648 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1649 * Java Virtual Machine Specification</a> 1650 */ 1651 short IF_ICMPLT = 161; 1652 1653 /** 1654 * Java VM opcode. 1655 * 1656 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1657 * Java Virtual Machine Specification</a> 1658 */ 1659 short IF_ICMPGE = 162; 1660 1661 /** 1662 * Java VM opcode. 1663 * 1664 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1665 * Java Virtual Machine Specification</a> 1666 */ 1667 short IF_ICMPGT = 163; 1668 1669 /** 1670 * Java VM opcode. 1671 * 1672 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1673 * Java Virtual Machine Specification</a> 1674 */ 1675 short IF_ICMPLE = 164; 1676 1677 /** 1678 * Java VM opcode. 1679 * 1680 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1681 * Java Virtual Machine Specification</a> 1682 */ 1683 short IF_ACMPEQ = 165; 1684 1685 /** 1686 * Java VM opcode. 1687 * 1688 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1689 * Java Virtual Machine Specification</a> 1690 */ 1691 short IF_ACMPNE = 166; 1692 1693 /** 1694 * Java VM opcode. 1695 * 1696 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1697 * Java Virtual Machine Specification</a> 1698 */ 1699 short GOTO = 167; 1700 1701 /** 1702 * Java VM opcode. 1703 * 1704 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1705 * Java Virtual Machine Specification</a> 1706 */ 1707 short JSR = 168; 1708 1709 /** 1710 * Java VM opcode. 1711 * 1712 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1713 * Java Virtual Machine Specification</a> 1714 */ 1715 short RET = 169; 1716 1717 /** 1718 * Java VM opcode. 1719 * 1720 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1721 * Java Virtual Machine Specification</a> 1722 */ 1723 short TABLESWITCH = 170; 1724 1725 /** 1726 * Java VM opcode. 1727 * 1728 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1729 * Java Virtual Machine Specification</a> 1730 */ 1731 short LOOKUPSWITCH = 171; 1732 1733 /** 1734 * Java VM opcode. 1735 * 1736 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1737 * Java Virtual Machine Specification</a> 1738 */ 1739 short IRETURN = 172; 1740 1741 /** 1742 * Java VM opcode. 1743 * 1744 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1745 * Java Virtual Machine Specification</a> 1746 */ 1747 short LRETURN = 173; 1748 1749 /** 1750 * Java VM opcode. 1751 * 1752 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1753 * Java Virtual Machine Specification</a> 1754 */ 1755 short FRETURN = 174; 1756 1757 /** 1758 * Java VM opcode. 1759 * 1760 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1761 * Java Virtual Machine Specification</a> 1762 */ 1763 short DRETURN = 175; 1764 1765 /** 1766 * Java VM opcode. 1767 * 1768 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1769 * Java Virtual Machine Specification</a> 1770 */ 1771 short ARETURN = 176; 1772 1773 /** 1774 * Java VM opcode. 1775 * 1776 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1777 * Java Virtual Machine Specification</a> 1778 */ 1779 short RETURN = 177; 1780 1781 /** 1782 * Java VM opcode. 1783 * 1784 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1785 * Java Virtual Machine Specification</a> 1786 */ 1787 short GETSTATIC = 178; 1788 1789 /** 1790 * Java VM opcode. 1791 * 1792 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1793 * Java Virtual Machine Specification</a> 1794 */ 1795 short PUTSTATIC = 179; 1796 1797 /** 1798 * Java VM opcode. 1799 * 1800 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1801 * Java Virtual Machine Specification</a> 1802 */ 1803 short GETFIELD = 180; 1804 1805 /** 1806 * Java VM opcode. 1807 * 1808 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1809 * Java Virtual Machine Specification</a> 1810 */ 1811 short PUTFIELD = 181; 1812 1813 /** 1814 * Java VM opcode. 1815 * 1816 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1817 * Java Virtual Machine Specification</a> 1818 */ 1819 short INVOKEVIRTUAL = 182; 1820 1821 /** 1822 * Java VM opcode. 1823 * 1824 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1825 * Java Virtual Machine Specification</a> 1826 */ 1827 short INVOKESPECIAL = 183; 1828 1829 /** 1830 * Java VM opcode. 1831 * 1832 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1833 * Java Virtual Machine Specification</a> 1834 */ 1835 short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0 1836 1837 /** 1838 * Java VM opcode. 1839 * 1840 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1841 * Java Virtual Machine Specification</a> 1842 */ 1843 short INVOKESTATIC = 184; 1844 1845 /** 1846 * Java VM opcode. 1847 * 1848 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1849 * Java Virtual Machine Specification</a> 1850 */ 1851 short INVOKEINTERFACE = 185; 1852 1853 /** 1854 * Java VM opcode. 1855 * 1856 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1857 * Java Virtual Machine Specification</a> 1858 */ 1859 short INVOKEDYNAMIC = 186; 1860 1861 /** 1862 * Java VM opcode. 1863 * 1864 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1865 * Java Virtual Machine Specification</a> 1866 */ 1867 short NEW = 187; 1868 1869 /** 1870 * Java VM opcode. 1871 * 1872 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1873 * Java Virtual Machine Specification</a> 1874 */ 1875 short NEWARRAY = 188; 1876 1877 /** 1878 * Java VM opcode. 1879 * 1880 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1881 * Java Virtual Machine Specification</a> 1882 */ 1883 short ANEWARRAY = 189; 1884 1885 /** 1886 * Java VM opcode. 1887 * 1888 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1889 * Java Virtual Machine Specification</a> 1890 */ 1891 short ARRAYLENGTH = 190; 1892 1893 /** 1894 * Java VM opcode. 1895 * 1896 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1897 * Java Virtual Machine Specification</a> 1898 */ 1899 short ATHROW = 191; 1900 1901 /** 1902 * Java VM opcode. 1903 * 1904 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1905 * Java Virtual Machine Specification</a> 1906 */ 1907 short CHECKCAST = 192; 1908 1909 /** 1910 * Java VM opcode. 1911 * 1912 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1913 * Java Virtual Machine Specification</a> 1914 */ 1915 short INSTANCEOF = 193; 1916 1917 /** 1918 * Java VM opcode. 1919 * 1920 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1921 * Java Virtual Machine Specification</a> 1922 */ 1923 short MONITORENTER = 194; 1924 1925 /** 1926 * Java VM opcode. 1927 * 1928 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1929 * Java Virtual Machine Specification</a> 1930 */ 1931 short MONITOREXIT = 195; 1932 1933 /** 1934 * Java VM opcode. 1935 * 1936 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1937 * Java Virtual Machine Specification</a> 1938 */ 1939 short WIDE = 196; 1940 1941 /** 1942 * Java VM opcode. 1943 * 1944 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1945 * Java Virtual Machine Specification</a> 1946 */ 1947 short MULTIANEWARRAY = 197; 1948 1949 /** 1950 * Java VM opcode. 1951 * 1952 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1953 * Java Virtual Machine Specification</a> 1954 */ 1955 short IFNULL = 198; 1956 1957 /** 1958 * Java VM opcode. 1959 * 1960 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1961 * Java Virtual Machine Specification</a> 1962 */ 1963 short IFNONNULL = 199; 1964 1965 /** 1966 * Java VM opcode. 1967 * 1968 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1969 * Java Virtual Machine Specification</a> 1970 */ 1971 short GOTO_W = 200; 1972 1973 /** 1974 * Java VM opcode. 1975 * 1976 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5"> Opcode definitions in The 1977 * Java Virtual Machine Specification</a> 1978 */ 1979 short JSR_W = 201; 1980 1981 /** 1982 * JVM internal opcode. 1983 * 1984 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java 1985 * Virtual Machine Specification</a> 1986 */ 1987 short BREAKPOINT = 202; 1988 1989 /** 1990 * JVM internal opcode. 1991 * 1992 * @see <a href= 1993 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 1994 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 1995 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 1996 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 1997 */ 1998 short LDC_QUICK = 203; 1999 2000 /** 2001 * JVM internal opcode. 2002 * 2003 * @see <a href= 2004 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2005 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2006 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2007 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2008 */ 2009 short LDC_W_QUICK = 204; 2010 2011 /** 2012 * JVM internal opcode. 2013 * 2014 * @see <a href= 2015 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2016 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2017 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2018 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2019 */ 2020 short LDC2_W_QUICK = 205; 2021 2022 /** 2023 * JVM internal opcode. 2024 * 2025 * @see <a href= 2026 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2027 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2028 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2029 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2030 */ 2031 short GETFIELD_QUICK = 206; 2032 2033 /** 2034 * JVM internal opcode. 2035 * 2036 * @see <a href= 2037 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2038 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2039 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2040 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2041 */ 2042 short PUTFIELD_QUICK = 207; 2043 2044 /** 2045 * JVM internal opcode. 2046 * 2047 * @see <a href= 2048 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2049 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2050 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2051 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2052 */ 2053 short GETFIELD2_QUICK = 208; 2054 2055 /** 2056 * JVM internal opcode. 2057 * 2058 * @see <a href= 2059 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2060 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2061 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2062 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2063 */ 2064 short PUTFIELD2_QUICK = 209; 2065 2066 /** 2067 * JVM internal opcode. 2068 * 2069 * @see <a href= 2070 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2071 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2072 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2073 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2074 */ 2075 short GETSTATIC_QUICK = 210; 2076 2077 /** 2078 * JVM internal opcode. 2079 * 2080 * @see <a href= 2081 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2082 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2083 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2084 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2085 */ 2086 short PUTSTATIC_QUICK = 211; 2087 2088 /** 2089 * JVM internal opcode. 2090 * 2091 * @see <a href= 2092 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2093 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2094 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2095 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2096 */ 2097 short GETSTATIC2_QUICK = 212; 2098 2099 /** 2100 * JVM internal opcode. 2101 * 2102 * @see <a href= 2103 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2104 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2105 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2106 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2107 */ 2108 short PUTSTATIC2_QUICK = 213; 2109 2110 /** 2111 * JVM internal opcode. 2112 * 2113 * @see <a href= 2114 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2115 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2116 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2117 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2118 */ 2119 short INVOKEVIRTUAL_QUICK = 214; 2120 2121 /** 2122 * JVM internal opcode. 2123 * 2124 * @see <a href= 2125 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2126 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2127 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2128 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2129 */ 2130 short INVOKENONVIRTUAL_QUICK = 215; 2131 2132 /** 2133 * JVM internal opcode. 2134 * 2135 * @see <a href= 2136 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2137 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2138 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2139 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2140 */ 2141 short INVOKESUPER_QUICK = 216; 2142 2143 /** 2144 * JVM internal opcode. 2145 * 2146 * @see <a href= 2147 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2148 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2149 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2150 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2151 */ 2152 short INVOKESTATIC_QUICK = 217; 2153 2154 /** 2155 * JVM internal opcode. 2156 * 2157 * @see <a href= 2158 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2159 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2160 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2161 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2162 */ 2163 short INVOKEINTERFACE_QUICK = 218; 2164 2165 /** 2166 * JVM internal opcode. 2167 * 2168 * @see <a href= 2169 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2170 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2171 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2172 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2173 */ 2174 short INVOKEVIRTUALOBJECT_QUICK = 219; 2175 2176 /** 2177 * JVM internal opcode. 2178 * 2179 * @see <a href= 2180 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2181 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2182 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2183 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2184 */ 2185 short NEW_QUICK = 221; 2186 2187 /** 2188 * JVM internal opcode. 2189 * 2190 * @see <a href= 2191 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2192 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2193 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2194 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2195 */ 2196 short ANEWARRAY_QUICK = 222; 2197 2198 /** 2199 * JVM internal opcode. 2200 * 2201 * @see <a href= 2202 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2203 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2204 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2205 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2206 */ 2207 short MULTIANEWARRAY_QUICK = 223; 2208 2209 /** 2210 * JVM internal opcode. 2211 * 2212 * @see <a href= 2213 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2214 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2215 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2216 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2217 */ 2218 short CHECKCAST_QUICK = 224; 2219 2220 /** 2221 * JVM internal opcode. 2222 * 2223 * @see <a href= 2224 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2225 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2226 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2227 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2228 */ 2229 short INSTANCEOF_QUICK = 225; 2230 2231 /** 2232 * JVM internal opcode. 2233 * 2234 * @see <a href= 2235 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2236 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2237 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2238 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2239 */ 2240 short INVOKEVIRTUAL_QUICK_W = 226; 2241 2242 /** 2243 * JVM internal opcode. 2244 * 2245 * @see <a href= 2246 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2247 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2248 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2249 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2250 */ 2251 short GETFIELD_QUICK_W = 227; 2252 2253 /** 2254 * JVM internal opcode. 2255 * 2256 * @see <a href= 2257 * "https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html"> 2258 * Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a> 2259 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885"> Why the _quick 2260 * opcodes were removed from the second version of the Java Virtual Machine Specification.</a> 2261 */ 2262 short PUTFIELD_QUICK_W = 228; 2263 2264 /** 2265 * JVM internal opcode. 2266 * 2267 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java 2268 * Virtual Machine Specification</a> 2269 */ 2270 short IMPDEP1 = 254; 2271 2272 /** 2273 * JVM internal opcode. 2274 * 2275 * @see <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2"> Reserved opcodes in the Java 2276 * Virtual Machine Specification</a> 2277 */ 2278 short IMPDEP2 = 255; 2279 2280 /** 2281 * BCEL virtual instruction for pushing an arbitrary data type onto the stack. Will be converted to the appropriate JVM 2282 * opcode when the class is dumped. 2283 */ 2284 short PUSH = 4711; 2285 2286 /** 2287 * BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM opcode when 2288 * the class is dumped. 2289 */ 2290 short SWITCH = 4712; 2291 2292 /** Illegal opcode. */ 2293 short UNDEFINED = -1; 2294 2295 /** Illegal opcode. */ 2296 short UNPREDICTABLE = -2; 2297 2298 /** Illegal opcode. */ 2299 short RESERVED = -3; 2300 2301 /** Mnemonic for an illegal opcode. */ 2302 String ILLEGAL_OPCODE = "<illegal opcode>"; 2303 2304 /** Mnemonic for an illegal type. */ 2305 String ILLEGAL_TYPE = "<illegal type>"; 2306 2307 /** Boolean data type. */ 2308 byte T_BOOLEAN = 4; 2309 2310 /** Char data type. */ 2311 byte T_CHAR = 5; 2312 2313 /** Float data type. */ 2314 byte T_FLOAT = 6; 2315 2316 /** Double data type. */ 2317 byte T_DOUBLE = 7; 2318 2319 /** Byte data type. */ 2320 byte T_BYTE = 8; 2321 2322 /** Short data type. */ 2323 byte T_SHORT = 9; 2324 2325 /** Int data type. */ 2326 byte T_INT = 10; 2327 2328 /** Long data type. */ 2329 byte T_LONG = 11; 2330 2331 /** Void data type (non-standard). */ 2332 byte T_VOID = 12; // Non-standard 2333 2334 /** Array data type. */ 2335 byte T_ARRAY = 13; 2336 2337 /** Object data type. */ 2338 byte T_OBJECT = 14; 2339 2340 /** Reference data type (deprecated). */ 2341 byte T_REFERENCE = 14; // Deprecated 2342 2343 /** Unknown data type. */ 2344 byte T_UNKNOWN = 15; 2345 2346 /** Address data type. */ 2347 byte T_ADDRESS = 16; 2348 2349 /** 2350 * The primitive type names corresponding to the T_XX constants, e.g., TYPE_NAMES[T_INT] = "int" 2351 */ 2352 String[] TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "boolean", "char", "float", "double", "byte", "short", "int", "long", "void", 2353 "array", "object", "unknown", "address"}; 2354 2355 /** 2356 * The primitive class names corresponding to the T_XX constants, e.g., CLASS_TYPE_NAMES[T_INT] = "java.lang.Integer" 2357 */ 2358 String[] CLASS_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "java.lang.Boolean", "java.lang.Character", "java.lang.Float", 2359 "java.lang.Double", "java.lang.Byte", "java.lang.Short", "java.lang.Integer", "java.lang.Long", "java.lang.Void", ILLEGAL_TYPE, ILLEGAL_TYPE, 2360 ILLEGAL_TYPE, ILLEGAL_TYPE}; 2361 2362 /** 2363 * The signature characters corresponding to primitive types, e.g., SHORT_TYPE_NAMES[T_INT] = "I" 2364 */ 2365 String[] SHORT_TYPE_NAMES = {ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, ILLEGAL_TYPE, "Z", "C", "F", "D", "B", "S", "I", "J", "V", ILLEGAL_TYPE, 2366 ILLEGAL_TYPE, ILLEGAL_TYPE}; 2367 2368 /** 2369 * Number of byte code operands for each opcode, i.e., number of bytes after the tag byte itself. Indexed by opcode, so 2370 * NO_OF_OPERANDS[BIPUSH] = the number of operands for a bipush instruction. 2371 */ 2372 short[] NO_OF_OPERANDS = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */, 2373 0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */, 2374 1/* bipush */, 2/* sipush */, 1/* ldc */, 2/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 1/* lload */, 1/* fload */, 1/* dload */, 1/* aload */, 2375 0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */, 2376 0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */, 2377 0/* aload_2 */, 0/* aload_3 */, 0/* iaload */, 0/* laload */, 0/* faload */, 0/* daload */, 0/* aaload */, 0/* baload */, 0/* caload */, 0/* saload */, 2378 1/* istore */, 1/* lstore */, 1/* fstore */, 1/* dstore */, 1/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */, 2379 0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */, 2380 0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */, 2381 0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 0/* dup */, 0/* dup_x1 */, 2382 0/* dup_x2 */, 0/* dup2 */, 0/* dup2_x1 */, 0/* dup2_x2 */, 0/* swap */, 0/* iadd */, 0/* ladd */, 0/* fadd */, 0/* dadd */, 0/* isub */, 0/* lsub */, 2383 0/* fsub */, 0/* dsub */, 0/* imul */, 0/* lmul */, 0/* fmul */, 0/* dmul */, 0/* idiv */, 0/* ldiv */, 0/* fdiv */, 0/* ddiv */, 0/* irem */, 2384 0/* lrem */, 0/* frem */, 0/* drem */, 0/* ineg */, 0/* lneg */, 0/* fneg */, 0/* dneg */, 0/* ishl */, 0/* lshl */, 0/* ishr */, 0/* lshr */, 2385 0/* iushr */, 0/* lushr */, 0/* iand */, 0/* land */, 0/* ior */, 0/* lor */, 0/* ixor */, 0/* lxor */, 2/* iinc */, 0/* i2l */, 0/* i2f */, 0/* i2d */, 2386 0/* l2i */, 0/* l2f */, 0/* l2d */, 0/* f2i */, 0/* f2l */, 0/* f2d */, 0/* d2i */, 0/* d2l */, 0/* d2f */, 0/* i2b */, 0/* i2c */, 0/* i2s */, 2387 0/* lcmp */, 0/* fcmpl */, 0/* fcmpg */, 0/* dcmpl */, 0/* dcmpg */, 2/* ifeq */, 2/* ifne */, 2/* iflt */, 2/* ifge */, 2/* ifgt */, 2/* ifle */, 2388 2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2/* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */, 2389 2/* goto */, 2/* jsr */, 1/* ret */, UNPREDICTABLE/* tableswitch */, UNPREDICTABLE/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */, 2390 0/* dreturn */, 0/* areturn */, 0/* return */, 2/* getstatic */, 2/* putstatic */, 2/* getfield */, 2/* putfield */, 2/* invokevirtual */, 2391 2/* invokespecial */, 2/* invokestatic */, 4/* invokeinterface */, 4/* invokedynamic */, 2/* new */, 1/* newarray */, 2/* anewarray */, 2392 0/* arraylength */, 0/* athrow */, 2/* checkcast */, 2/* instanceof */, 0/* monitorenter */, 0/* monitorexit */, UNPREDICTABLE/* wide */, 2393 3/* multianewarray */, 2/* ifnull */, 2/* ifnonnull */, 4/* goto_w */, 4/* jsr_w */, 0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2394 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2395 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2396 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2397 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, RESERVED/* impdep1 */, RESERVED/* impdep2 */ 2398 }; 2399 2400 /** 2401 * How the byte code operands are to be interpreted for each opcode. Indexed by opcode. TYPE_OF_OPERANDS[ILOAD] = an 2402 * array of shorts describing the data types for the instruction. 2403 */ 2404 short[][] TYPE_OF_OPERANDS = {{}/* nop */, {}/* aconst_null */, {}/* iconst_m1 */, {}/* iconst_0 */, {}/* iconst_1 */, {}/* iconst_2 */, {}/* iconst_3 */, 2405 {}/* iconst_4 */, {}/* iconst_5 */, {}/* lconst_0 */, {}/* lconst_1 */, {}/* fconst_0 */, {}/* fconst_1 */, {}/* fconst_2 */, {}/* dconst_0 */, 2406 {}/* dconst_1 */, {T_BYTE}/* bipush */, {T_SHORT}/* sipush */, {T_BYTE}/* ldc */, {T_SHORT}/* ldc_w */, {T_SHORT}/* ldc2_w */, {T_BYTE}/* iload */, 2407 {T_BYTE}/* lload */, {T_BYTE}/* fload */, {T_BYTE}/* dload */, {T_BYTE}/* aload */, {}/* iload_0 */, {}/* iload_1 */, {}/* iload_2 */, {}/* iload_3 */, 2408 {}/* lload_0 */, {}/* lload_1 */, {}/* lload_2 */, {}/* lload_3 */, {}/* fload_0 */, {}/* fload_1 */, {}/* fload_2 */, {}/* fload_3 */, {}/* dload_0 */, 2409 {}/* dload_1 */, {}/* dload_2 */, {}/* dload_3 */, {}/* aload_0 */, {}/* aload_1 */, {}/* aload_2 */, {}/* aload_3 */, {}/* iaload */, {}/* laload */, 2410 {}/* faload */, {}/* daload */, {}/* aaload */, {}/* baload */, {}/* caload */, {}/* saload */, {T_BYTE}/* istore */, {T_BYTE}/* lstore */, 2411 {T_BYTE}/* fstore */, {T_BYTE}/* dstore */, {T_BYTE}/* astore */, {}/* istore_0 */, {}/* istore_1 */, {}/* istore_2 */, {}/* istore_3 */, 2412 {}/* lstore_0 */, {}/* lstore_1 */, {}/* lstore_2 */, {}/* lstore_3 */, {}/* fstore_0 */, {}/* fstore_1 */, {}/* fstore_2 */, {}/* fstore_3 */, 2413 {}/* dstore_0 */, {}/* dstore_1 */, {}/* dstore_2 */, {}/* dstore_3 */, {}/* astore_0 */, {}/* astore_1 */, {}/* astore_2 */, {}/* astore_3 */, 2414 {}/* iastore */, {}/* lastore */, {}/* fastore */, {}/* dastore */, {}/* aastore */, {}/* bastore */, {}/* castore */, {}/* sastore */, {}/* pop */, 2415 {}/* pop2 */, {}/* dup */, {}/* dup_x1 */, {}/* dup_x2 */, {}/* dup2 */, {}/* dup2_x1 */, {}/* dup2_x2 */, {}/* swap */, {}/* iadd */, {}/* ladd */, 2416 {}/* fadd */, {}/* dadd */, {}/* isub */, {}/* lsub */, {}/* fsub */, {}/* dsub */, {}/* imul */, {}/* lmul */, {}/* fmul */, {}/* dmul */, 2417 {}/* idiv */, {}/* ldiv */, {}/* fdiv */, {}/* ddiv */, {}/* irem */, {}/* lrem */, {}/* frem */, {}/* drem */, {}/* ineg */, {}/* lneg */, 2418 {}/* fneg */, {}/* dneg */, {}/* ishl */, {}/* lshl */, {}/* ishr */, {}/* lshr */, {}/* iushr */, {}/* lushr */, {}/* iand */, {}/* land */, 2419 {}/* ior */, {}/* lor */, {}/* ixor */, {}/* lxor */, {T_BYTE, T_BYTE}/* iinc */, {}/* i2l */, {}/* i2f */, {}/* i2d */, {}/* l2i */, {}/* l2f */, 2420 {}/* l2d */, {}/* f2i */, {}/* f2l */, {}/* f2d */, {}/* d2i */, {}/* d2l */, {}/* d2f */, {}/* i2b */, {}/* i2c */, {}/* i2s */, {}/* lcmp */, 2421 {}/* fcmpl */, {}/* fcmpg */, {}/* dcmpl */, {}/* dcmpg */, {T_SHORT}/* ifeq */, {T_SHORT}/* ifne */, {T_SHORT}/* iflt */, {T_SHORT}/* ifge */, 2422 {T_SHORT}/* ifgt */, {T_SHORT}/* ifle */, {T_SHORT}/* if_icmpeq */, {T_SHORT}/* if_icmpne */, {T_SHORT}/* if_icmplt */, {T_SHORT}/* if_icmpge */, 2423 {T_SHORT}/* if_icmpgt */, {T_SHORT}/* if_icmple */, {T_SHORT}/* if_acmpeq */, {T_SHORT}/* if_acmpne */, {T_SHORT}/* goto */, {T_SHORT}/* jsr */, 2424 {T_BYTE}/* ret */, {}/* tableswitch */, {}/* lookupswitch */, {}/* ireturn */, {}/* lreturn */, {}/* freturn */, {}/* dreturn */, {}/* areturn */, 2425 {}/* return */, {T_SHORT}/* getstatic */, {T_SHORT}/* putstatic */, {T_SHORT}/* getfield */, {T_SHORT}/* putfield */, {T_SHORT}/* invokevirtual */, 2426 {T_SHORT}/* invokespecial */, {T_SHORT}/* invokestatic */, {T_SHORT, T_BYTE, T_BYTE}/* invokeinterface */, {T_SHORT, T_BYTE, T_BYTE}/* invokedynamic */, 2427 {T_SHORT}/* new */, {T_BYTE}/* newarray */, {T_SHORT}/* anewarray */, {}/* arraylength */, {}/* athrow */, {T_SHORT}/* checkcast */, 2428 {T_SHORT}/* instanceof */, {}/* monitorenter */, {}/* monitorexit */, {T_BYTE}/* wide */, {T_SHORT, T_BYTE}/* multianewarray */, {T_SHORT}/* ifnull */, 2429 {T_SHORT}/* ifnonnull */, {T_INT}/* goto_w */, {T_INT}/* jsr_w */, {}/* breakpoint */, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 2430 {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 2431 {}/* impdep1 */, {}/* impdep2 */ 2432 }; 2433 2434 /** 2435 * Names of opcodes. Indexed by opcode. OPCODE_NAMES[ALOAD] = "aload". 2436 */ 2437 String[] OPCODE_NAMES = {"nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1", "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0", "lconst_1", 2438 "fconst_0", "fconst_1", "fconst_2", "dconst_0", "dconst_1", "bipush", "sipush", "ldc", "ldc_w", "ldc2_w", "iload", "lload", "fload", "dload", "aload", 2439 "iload_0", "iload_1", "iload_2", "iload_3", "lload_0", "lload_1", "lload_2", "lload_3", "fload_0", "fload_1", "fload_2", "fload_3", "dload_0", 2440 "dload_1", "dload_2", "dload_3", "aload_0", "aload_1", "aload_2", "aload_3", "iaload", "laload", "faload", "daload", "aaload", "baload", "caload", 2441 "saload", "istore", "lstore", "fstore", "dstore", "astore", "istore_0", "istore_1", "istore_2", "istore_3", "lstore_0", "lstore_1", "lstore_2", 2442 "lstore_3", "fstore_0", "fstore_1", "fstore_2", "fstore_3", "dstore_0", "dstore_1", "dstore_2", "dstore_3", "astore_0", "astore_1", "astore_2", 2443 "astore_3", "iastore", "lastore", "fastore", "dastore", "aastore", "bastore", "castore", "sastore", "pop", "pop2", "dup", "dup_x1", "dup_x2", "dup2", 2444 "dup2_x1", "dup2_x2", "swap", "iadd", "ladd", "fadd", "dadd", "isub", "lsub", "fsub", "dsub", "imul", "lmul", "fmul", "dmul", "idiv", "ldiv", "fdiv", 2445 "ddiv", "irem", "lrem", "frem", "drem", "ineg", "lneg", "fneg", "dneg", "ishl", "lshl", "ishr", "lshr", "iushr", "lushr", "iand", "land", "ior", "lor", 2446 "ixor", "lxor", "iinc", "i2l", "i2f", "i2d", "l2i", "l2f", "l2d", "f2i", "f2l", "f2d", "d2i", "d2l", "d2f", "i2b", "i2c", "i2s", "lcmp", "fcmpl", 2447 "fcmpg", "dcmpl", "dcmpg", "ifeq", "ifne", "iflt", "ifge", "ifgt", "ifle", "if_icmpeq", "if_icmpne", "if_icmplt", "if_icmpge", "if_icmpgt", "if_icmple", 2448 "if_acmpeq", "if_acmpne", "goto", "jsr", "ret", "tableswitch", "lookupswitch", "ireturn", "lreturn", "freturn", "dreturn", "areturn", "return", 2449 "getstatic", "putstatic", "getfield", "putfield", "invokevirtual", "invokespecial", "invokestatic", "invokeinterface", "invokedynamic", "new", 2450 "newarray", "anewarray", "arraylength", "athrow", "checkcast", "instanceof", "monitorenter", "monitorexit", "wide", "multianewarray", "ifnull", 2451 "ifnonnull", "goto_w", "jsr_w", "breakpoint", ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2452 ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2453 ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2454 ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2455 ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2456 ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, ILLEGAL_OPCODE, 2457 "impdep1", "impdep2"}; 2458 2459 /** 2460 * Number of words consumed on operand stack by instructions. Indexed by opcode. CONSUME_STACK[FALOAD] = number of words 2461 * consumed from the stack by a faload instruction. 2462 */ 2463 int[] CONSUME_STACK = {0/* nop */, 0/* aconst_null */, 0/* iconst_m1 */, 0/* iconst_0 */, 0/* iconst_1 */, 0/* iconst_2 */, 0/* iconst_3 */, 2464 0/* iconst_4 */, 0/* iconst_5 */, 0/* lconst_0 */, 0/* lconst_1 */, 0/* fconst_0 */, 0/* fconst_1 */, 0/* fconst_2 */, 0/* dconst_0 */, 0/* dconst_1 */, 2465 0/* bipush */, 0/* sipush */, 0/* ldc */, 0/* ldc_w */, 0/* ldc2_w */, 0/* iload */, 0/* lload */, 0/* fload */, 0/* dload */, 0/* aload */, 2466 0/* iload_0 */, 0/* iload_1 */, 0/* iload_2 */, 0/* iload_3 */, 0/* lload_0 */, 0/* lload_1 */, 0/* lload_2 */, 0/* lload_3 */, 0/* fload_0 */, 2467 0/* fload_1 */, 0/* fload_2 */, 0/* fload_3 */, 0/* dload_0 */, 0/* dload_1 */, 0/* dload_2 */, 0/* dload_3 */, 0/* aload_0 */, 0/* aload_1 */, 2468 0/* aload_2 */, 0/* aload_3 */, 2/* iaload */, 2/* laload */, 2/* faload */, 2/* daload */, 2/* aaload */, 2/* baload */, 2/* caload */, 2/* saload */, 2469 1/* istore */, 2/* lstore */, 1/* fstore */, 2/* dstore */, 1/* astore */, 1/* istore_0 */, 1/* istore_1 */, 1/* istore_2 */, 1/* istore_3 */, 2470 2/* lstore_0 */, 2/* lstore_1 */, 2/* lstore_2 */, 2/* lstore_3 */, 1/* fstore_0 */, 1/* fstore_1 */, 1/* fstore_2 */, 1/* fstore_3 */, 2/* dstore_0 */, 2471 2/* dstore_1 */, 2/* dstore_2 */, 2/* dstore_3 */, 1/* astore_0 */, 1/* astore_1 */, 1/* astore_2 */, 1/* astore_3 */, 3/* iastore */, 4/* lastore */, 2472 3/* fastore */, 4/* dastore */, 3/* aastore */, 3/* bastore */, 3/* castore */, 3/* sastore */, 1/* pop */, 2/* pop2 */, 1/* dup */, 2/* dup_x1 */, 2473 3/* dup_x2 */, 2/* dup2 */, 3/* dup2_x1 */, 4/* dup2_x2 */, 2/* swap */, 2/* iadd */, 4/* ladd */, 2/* fadd */, 4/* dadd */, 2/* isub */, 4/* lsub */, 2474 2/* fsub */, 4/* dsub */, 2/* imul */, 4/* lmul */, 2/* fmul */, 4/* dmul */, 2/* idiv */, 4/* ldiv */, 2/* fdiv */, 4/* ddiv */, 2/* irem */, 2475 4/* lrem */, 2/* frem */, 4/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 2/* ishl */, 3/* lshl */, 2/* ishr */, 3/* lshr */, 2476 2/* iushr */, 3/* lushr */, 2/* iand */, 4/* land */, 2/* ior */, 4/* lor */, 2/* ixor */, 4/* lxor */, 0/* iinc */, 1/* i2l */, 1/* i2f */, 1/* i2d */, 2477 2/* l2i */, 2/* l2f */, 2/* l2d */, 1/* f2i */, 1/* f2l */, 1/* f2d */, 2/* d2i */, 2/* d2l */, 2/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */, 2478 4/* lcmp */, 2/* fcmpl */, 2/* fcmpg */, 4/* dcmpl */, 4/* dcmpg */, 1/* ifeq */, 1/* ifne */, 1/* iflt */, 1/* ifge */, 1/* ifgt */, 1/* ifle */, 2479 2/* if_icmpeq */, 2/* if_icmpne */, 2/* if_icmplt */, 2 /* if_icmpge */, 2/* if_icmpgt */, 2/* if_icmple */, 2/* if_acmpeq */, 2/* if_acmpne */, 2480 0/* goto */, 0/* jsr */, 0/* ret */, 1/* tableswitch */, 1/* lookupswitch */, 1/* ireturn */, 2/* lreturn */, 1/* freturn */, 2/* dreturn */, 2481 1/* areturn */, 0/* return */, 0/* getstatic */, UNPREDICTABLE/* putstatic */, 1/* getfield */, UNPREDICTABLE/* putfield */, 2482 UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */, 2483 UNPREDICTABLE/* invokedynamic */, 0/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */, 2484 1/* monitorenter */, 1/* monitorexit */, 0/* wide */, UNPREDICTABLE/* multianewarray */, 1/* ifnull */, 1/* ifnonnull */, 0/* goto_w */, 0/* jsr_w */, 2485 0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2486 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2487 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2488 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2489 UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */ 2490 }; 2491 2492 /** 2493 * Number of words produced onto operand stack by instructions. Indexed by opcode. CONSUME_STACK[DALOAD] = number of 2494 * words consumed from the stack by a daload instruction. 2495 */ 2496 int[] PRODUCE_STACK = {0/* nop */, 1/* aconst_null */, 1/* iconst_m1 */, 1/* iconst_0 */, 1/* iconst_1 */, 1/* iconst_2 */, 1/* iconst_3 */, 2497 1/* iconst_4 */, 1/* iconst_5 */, 2/* lconst_0 */, 2/* lconst_1 */, 1/* fconst_0 */, 1/* fconst_1 */, 1/* fconst_2 */, 2/* dconst_0 */, 2/* dconst_1 */, 2498 1/* bipush */, 1/* sipush */, 1/* ldc */, 1/* ldc_w */, 2/* ldc2_w */, 1/* iload */, 2/* lload */, 1/* fload */, 2/* dload */, 1/* aload */, 2499 1/* iload_0 */, 1/* iload_1 */, 1/* iload_2 */, 1/* iload_3 */, 2/* lload_0 */, 2/* lload_1 */, 2/* lload_2 */, 2/* lload_3 */, 1/* fload_0 */, 2500 1/* fload_1 */, 1/* fload_2 */, 1/* fload_3 */, 2/* dload_0 */, 2/* dload_1 */, 2/* dload_2 */, 2/* dload_3 */, 1/* aload_0 */, 1/* aload_1 */, 2501 1/* aload_2 */, 1/* aload_3 */, 1/* iaload */, 2/* laload */, 1/* faload */, 2/* daload */, 1/* aaload */, 1/* baload */, 1/* caload */, 1/* saload */, 2502 0/* istore */, 0/* lstore */, 0/* fstore */, 0/* dstore */, 0/* astore */, 0/* istore_0 */, 0/* istore_1 */, 0/* istore_2 */, 0/* istore_3 */, 2503 0/* lstore_0 */, 0/* lstore_1 */, 0/* lstore_2 */, 0/* lstore_3 */, 0/* fstore_0 */, 0/* fstore_1 */, 0/* fstore_2 */, 0/* fstore_3 */, 0/* dstore_0 */, 2504 0/* dstore_1 */, 0/* dstore_2 */, 0/* dstore_3 */, 0/* astore_0 */, 0/* astore_1 */, 0/* astore_2 */, 0/* astore_3 */, 0/* iastore */, 0/* lastore */, 2505 0/* fastore */, 0/* dastore */, 0/* aastore */, 0/* bastore */, 0/* castore */, 0/* sastore */, 0/* pop */, 0/* pop2 */, 2/* dup */, 3/* dup_x1 */, 2506 4/* dup_x2 */, 4/* dup2 */, 5/* dup2_x1 */, 6/* dup2_x2 */, 2/* swap */, 1/* iadd */, 2/* ladd */, 1/* fadd */, 2/* dadd */, 1/* isub */, 2/* lsub */, 2507 1/* fsub */, 2/* dsub */, 1/* imul */, 2/* lmul */, 1/* fmul */, 2/* dmul */, 1/* idiv */, 2/* ldiv */, 1/* fdiv */, 2/* ddiv */, 1/* irem */, 2508 2/* lrem */, 1/* frem */, 2/* drem */, 1/* ineg */, 2/* lneg */, 1/* fneg */, 2/* dneg */, 1/* ishl */, 2/* lshl */, 1/* ishr */, 2/* lshr */, 2509 1/* iushr */, 2/* lushr */, 1/* iand */, 2/* land */, 1/* ior */, 2/* lor */, 1/* ixor */, 2/* lxor */, 0/* iinc */, 2/* i2l */, 1/* i2f */, 2/* i2d */, 2510 1/* l2i */, 1/* l2f */, 2/* l2d */, 1/* f2i */, 2/* f2l */, 2/* f2d */, 1/* d2i */, 2/* d2l */, 1/* d2f */, 1/* i2b */, 1/* i2c */, 1/* i2s */, 2511 1/* lcmp */, 1/* fcmpl */, 1/* fcmpg */, 1/* dcmpl */, 1/* dcmpg */, 0/* ifeq */, 0/* ifne */, 0/* iflt */, 0/* ifge */, 0/* ifgt */, 0/* ifle */, 2512 0/* if_icmpeq */, 0/* if_icmpne */, 0/* if_icmplt */, 0/* if_icmpge */, 0/* if_icmpgt */, 0/* if_icmple */, 0/* if_acmpeq */, 0/* if_acmpne */, 2513 0/* goto */, 1/* jsr */, 0/* ret */, 0/* tableswitch */, 0/* lookupswitch */, 0/* ireturn */, 0/* lreturn */, 0/* freturn */, 0/* dreturn */, 2514 0/* areturn */, 0/* return */, UNPREDICTABLE/* getstatic */, 0/* putstatic */, UNPREDICTABLE/* getfield */, 0/* putfield */, 2515 UNPREDICTABLE/* invokevirtual */, UNPREDICTABLE/* invokespecial */, UNPREDICTABLE/* invokestatic */, UNPREDICTABLE/* invokeinterface */, 2516 UNPREDICTABLE/* invokedynamic */, 1/* new */, 1/* newarray */, 1/* anewarray */, 1/* arraylength */, 1/* athrow */, 1/* checkcast */, 1/* instanceof */, 2517 0/* monitorenter */, 0/* monitorexit */, 0/* wide */, 1/* multianewarray */, 0/* ifnull */, 0/* ifnonnull */, 0/* goto_w */, 1/* jsr_w */, 2518 0/* breakpoint */, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2519 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2520 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2521 UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, UNDEFINED, 2522 UNPREDICTABLE/* impdep1 */, UNPREDICTABLE/* impdep2 */ 2523 }; 2524 2525 /** 2526 * Attributes and their corresponding names. 2527 */ 2528 byte ATTR_UNKNOWN = -1; 2529 byte ATTR_SOURCE_FILE = 0; 2530 byte ATTR_CONSTANT_VALUE = 1; 2531 byte ATTR_CODE = 2; 2532 byte ATTR_EXCEPTIONS = 3; 2533 byte ATTR_LINE_NUMBER_TABLE = 4; 2534 byte ATTR_LOCAL_VARIABLE_TABLE = 5; 2535 byte ATTR_INNER_CLASSES = 6; 2536 byte ATTR_SYNTHETIC = 7; 2537 byte ATTR_DEPRECATED = 8; 2538 byte ATTR_PMG = 9; 2539 byte ATTR_SIGNATURE = 10; 2540 byte ATTR_STACK_MAP = 11; 2541 byte ATTR_RUNTIMEVISIBLE_ANNOTATIONS = 12; 2542 byte ATTR_RUNTIMEINVISIBLE_ANNOTATIONS = 13; 2543 byte ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS = 14; 2544 byte ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS = 15; 2545 byte ATTR_ANNOTATION_DEFAULT = 16; 2546 2547 short KNOWN_ATTRIBUTES = 12;// should be 17 2548 2549 // TODO: mutable public array!! 2550 String[] ATTRIBUTE_NAMES = {"SourceFile", "ConstantValue", "Code", "Exceptions", "LineNumberTable", "LocalVariableTable", "InnerClasses", "Synthetic", 2551 "Deprecated", "PMGClass", "Signature", "StackMap", "RuntimeVisibleAnnotations", "RuntimeInvisibleAnnotations", "RuntimeVisibleParameterAnnotations", 2552 "RuntimeInvisibleParameterAnnotations", "AnnotationDefault"}; 2553 2554 /** 2555 * Constants used in the StackMap attribute. 2556 */ 2557 byte ITEM_Bogus = 0; 2558 byte ITEM_Integer = 1; 2559 byte ITEM_Float = 2; 2560 byte ITEM_Double = 3; 2561 byte ITEM_Long = 4; 2562 byte ITEM_Null = 5; 2563 byte ITEM_InitObject = 6; 2564 byte ITEM_Object = 7; 2565 byte ITEM_NewObject = 8; 2566 2567 String[] ITEM_NAMES = {"Bogus", "Integer", "Float", "Double", "Long", "Null", "InitObject", "Object", "NewObject"}; 2568 2569}